mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 07:31:38 +00:00 
			
		
		
		
	* Revert "gh-111089: Use PyUnicode_AsUTF8() in Argument Clinic (#111585)" This reverts commitd9b606b3d0. * Revert "gh-111089: Use PyUnicode_AsUTF8() in getargs.c (#111620)" This reverts commitcde1071b2a. * Revert "gh-111089: PyUnicode_AsUTF8() now raises on embedded NUL (#111091)" This reverts commitd731579bfb. * Revert "gh-111089: Add PyUnicode_AsUTF8() to the limited C API (#111121)" This reverts commitd8f32be5b6. * Revert "gh-111089: Use PyUnicode_AsUTF8() in sqlite3 (#111122)" This reverts commit37e4e20eaa.
		
			
				
	
	
		
			167 lines
		
	
	
	
		
			4.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
		
			Generated
		
	
	
			
		
		
	
	
			167 lines
		
	
	
	
		
			4.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
		
			Generated
		
	
	
/*[clinic input]
 | 
						|
preserve
 | 
						|
[clinic start generated code]*/
 | 
						|
 | 
						|
#include "pycore_modsupport.h"    // _PyArg_CheckPositional()
 | 
						|
 | 
						|
#if defined(MS_WINDOWS)
 | 
						|
 | 
						|
PyDoc_STRVAR(_multiprocessing_closesocket__doc__,
 | 
						|
"closesocket($module, handle, /)\n"
 | 
						|
"--\n"
 | 
						|
"\n");
 | 
						|
 | 
						|
#define _MULTIPROCESSING_CLOSESOCKET_METHODDEF    \
 | 
						|
    {"closesocket", (PyCFunction)_multiprocessing_closesocket, METH_O, _multiprocessing_closesocket__doc__},
 | 
						|
 | 
						|
static PyObject *
 | 
						|
_multiprocessing_closesocket_impl(PyObject *module, HANDLE handle);
 | 
						|
 | 
						|
static PyObject *
 | 
						|
_multiprocessing_closesocket(PyObject *module, PyObject *arg)
 | 
						|
{
 | 
						|
    PyObject *return_value = NULL;
 | 
						|
    HANDLE handle;
 | 
						|
 | 
						|
    handle = PyLong_AsVoidPtr(arg);
 | 
						|
    if (!handle && PyErr_Occurred()) {
 | 
						|
        goto exit;
 | 
						|
    }
 | 
						|
    return_value = _multiprocessing_closesocket_impl(module, handle);
 | 
						|
 | 
						|
exit:
 | 
						|
    return return_value;
 | 
						|
}
 | 
						|
 | 
						|
#endif /* defined(MS_WINDOWS) */
 | 
						|
 | 
						|
#if defined(MS_WINDOWS)
 | 
						|
 | 
						|
PyDoc_STRVAR(_multiprocessing_recv__doc__,
 | 
						|
"recv($module, handle, size, /)\n"
 | 
						|
"--\n"
 | 
						|
"\n");
 | 
						|
 | 
						|
#define _MULTIPROCESSING_RECV_METHODDEF    \
 | 
						|
    {"recv", _PyCFunction_CAST(_multiprocessing_recv), METH_FASTCALL, _multiprocessing_recv__doc__},
 | 
						|
 | 
						|
static PyObject *
 | 
						|
_multiprocessing_recv_impl(PyObject *module, HANDLE handle, int size);
 | 
						|
 | 
						|
static PyObject *
 | 
						|
_multiprocessing_recv(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
 | 
						|
{
 | 
						|
    PyObject *return_value = NULL;
 | 
						|
    HANDLE handle;
 | 
						|
    int size;
 | 
						|
 | 
						|
    if (!_PyArg_CheckPositional("recv", nargs, 2, 2)) {
 | 
						|
        goto exit;
 | 
						|
    }
 | 
						|
    handle = PyLong_AsVoidPtr(args[0]);
 | 
						|
    if (!handle && PyErr_Occurred()) {
 | 
						|
        goto exit;
 | 
						|
    }
 | 
						|
    size = PyLong_AsInt(args[1]);
 | 
						|
    if (size == -1 && PyErr_Occurred()) {
 | 
						|
        goto exit;
 | 
						|
    }
 | 
						|
    return_value = _multiprocessing_recv_impl(module, handle, size);
 | 
						|
 | 
						|
exit:
 | 
						|
    return return_value;
 | 
						|
}
 | 
						|
 | 
						|
#endif /* defined(MS_WINDOWS) */
 | 
						|
 | 
						|
#if defined(MS_WINDOWS)
 | 
						|
 | 
						|
PyDoc_STRVAR(_multiprocessing_send__doc__,
 | 
						|
"send($module, handle, buf, /)\n"
 | 
						|
"--\n"
 | 
						|
"\n");
 | 
						|
 | 
						|
#define _MULTIPROCESSING_SEND_METHODDEF    \
 | 
						|
    {"send", _PyCFunction_CAST(_multiprocessing_send), METH_FASTCALL, _multiprocessing_send__doc__},
 | 
						|
 | 
						|
static PyObject *
 | 
						|
_multiprocessing_send_impl(PyObject *module, HANDLE handle, Py_buffer *buf);
 | 
						|
 | 
						|
static PyObject *
 | 
						|
_multiprocessing_send(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
 | 
						|
{
 | 
						|
    PyObject *return_value = NULL;
 | 
						|
    HANDLE handle;
 | 
						|
    Py_buffer buf = {NULL, NULL};
 | 
						|
 | 
						|
    if (!_PyArg_CheckPositional("send", nargs, 2, 2)) {
 | 
						|
        goto exit;
 | 
						|
    }
 | 
						|
    handle = PyLong_AsVoidPtr(args[0]);
 | 
						|
    if (!handle && PyErr_Occurred()) {
 | 
						|
        goto exit;
 | 
						|
    }
 | 
						|
    if (PyObject_GetBuffer(args[1], &buf, PyBUF_SIMPLE) != 0) {
 | 
						|
        goto exit;
 | 
						|
    }
 | 
						|
    return_value = _multiprocessing_send_impl(module, handle, &buf);
 | 
						|
 | 
						|
exit:
 | 
						|
    /* Cleanup for buf */
 | 
						|
    if (buf.obj) {
 | 
						|
       PyBuffer_Release(&buf);
 | 
						|
    }
 | 
						|
 | 
						|
    return return_value;
 | 
						|
}
 | 
						|
 | 
						|
#endif /* defined(MS_WINDOWS) */
 | 
						|
 | 
						|
PyDoc_STRVAR(_multiprocessing_sem_unlink__doc__,
 | 
						|
"sem_unlink($module, name, /)\n"
 | 
						|
"--\n"
 | 
						|
"\n");
 | 
						|
 | 
						|
#define _MULTIPROCESSING_SEM_UNLINK_METHODDEF    \
 | 
						|
    {"sem_unlink", (PyCFunction)_multiprocessing_sem_unlink, METH_O, _multiprocessing_sem_unlink__doc__},
 | 
						|
 | 
						|
static PyObject *
 | 
						|
_multiprocessing_sem_unlink_impl(PyObject *module, const char *name);
 | 
						|
 | 
						|
static PyObject *
 | 
						|
_multiprocessing_sem_unlink(PyObject *module, PyObject *arg)
 | 
						|
{
 | 
						|
    PyObject *return_value = NULL;
 | 
						|
    const char *name;
 | 
						|
 | 
						|
    if (!PyUnicode_Check(arg)) {
 | 
						|
        _PyArg_BadArgument("sem_unlink", "argument", "str", arg);
 | 
						|
        goto exit;
 | 
						|
    }
 | 
						|
    Py_ssize_t name_length;
 | 
						|
    name = PyUnicode_AsUTF8AndSize(arg, &name_length);
 | 
						|
    if (name == NULL) {
 | 
						|
        goto exit;
 | 
						|
    }
 | 
						|
    if (strlen(name) != (size_t)name_length) {
 | 
						|
        PyErr_SetString(PyExc_ValueError, "embedded null character");
 | 
						|
        goto exit;
 | 
						|
    }
 | 
						|
    return_value = _multiprocessing_sem_unlink_impl(module, name);
 | 
						|
 | 
						|
exit:
 | 
						|
    return return_value;
 | 
						|
}
 | 
						|
 | 
						|
#ifndef _MULTIPROCESSING_CLOSESOCKET_METHODDEF
 | 
						|
    #define _MULTIPROCESSING_CLOSESOCKET_METHODDEF
 | 
						|
#endif /* !defined(_MULTIPROCESSING_CLOSESOCKET_METHODDEF) */
 | 
						|
 | 
						|
#ifndef _MULTIPROCESSING_RECV_METHODDEF
 | 
						|
    #define _MULTIPROCESSING_RECV_METHODDEF
 | 
						|
#endif /* !defined(_MULTIPROCESSING_RECV_METHODDEF) */
 | 
						|
 | 
						|
#ifndef _MULTIPROCESSING_SEND_METHODDEF
 | 
						|
    #define _MULTIPROCESSING_SEND_METHODDEF
 | 
						|
#endif /* !defined(_MULTIPROCESSING_SEND_METHODDEF) */
 | 
						|
/*[clinic end generated code: output=73b4cb8428d816da input=a9049054013a1b77]*/
 |