From fc84e0c16658e591dabcbe3ce737fc960e57f7b0 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Wed, 31 May 2023 19:17:09 +0200 Subject: [PATCH] gh-105156: Argument Clinic avoids Py_UNICODE type Argument Clinic now uses "const wchar_t*" type instead of "const Py_UNICODE*" type for the "Py_UNICODE" format. --- Modules/_winapi.c | 7 ++- Modules/clinic/_winapi.c.h | 11 +++-- Modules/clinic/overlapped.c.h | 10 ++--- Modules/clinic/posixmodule.c.h | 12 +++--- Modules/overlapped.c | 8 ++-- Modules/posixmodule.c | 8 ++-- PC/clinic/winreg.c.h | 78 ++++++++++++++++------------------ PC/winreg.c | 74 +++++++++++++++----------------- Tools/clinic/clinic.py | 2 +- 9 files changed, 100 insertions(+), 110 deletions(-) diff --git a/Modules/_winapi.c b/Modules/_winapi.c index bbc9facd227c9e..af13014bf201b0 100644 --- a/Modules/_winapi.c +++ b/Modules/_winapi.c @@ -1058,14 +1058,13 @@ process ID, and thread ID. [clinic start generated code]*/ static PyObject * -_winapi_CreateProcess_impl(PyObject *module, - const Py_UNICODE *application_name, +_winapi_CreateProcess_impl(PyObject *module, const wchar_t *application_name, PyObject *command_line, PyObject *proc_attrs, PyObject *thread_attrs, BOOL inherit_handles, DWORD creation_flags, PyObject *env_mapping, - const Py_UNICODE *current_directory, + const wchar_t *current_directory, PyObject *startup_info) -/*[clinic end generated code: output=9b2423a609230132 input=42ac293eaea03fc4]*/ +/*[clinic end generated code: output=a25c8e49ea1d6427 input=42ac293eaea03fc4]*/ { PyObject *ret = NULL; BOOL result; diff --git a/Modules/clinic/_winapi.c.h b/Modules/clinic/_winapi.c.h index 3767b19d76db05..8f46b8f1095e98 100644 --- a/Modules/clinic/_winapi.c.h +++ b/Modules/clinic/_winapi.c.h @@ -397,26 +397,25 @@ PyDoc_STRVAR(_winapi_CreateProcess__doc__, {"CreateProcess", _PyCFunction_CAST(_winapi_CreateProcess), METH_FASTCALL, _winapi_CreateProcess__doc__}, static PyObject * -_winapi_CreateProcess_impl(PyObject *module, - const Py_UNICODE *application_name, +_winapi_CreateProcess_impl(PyObject *module, const wchar_t *application_name, PyObject *command_line, PyObject *proc_attrs, PyObject *thread_attrs, BOOL inherit_handles, DWORD creation_flags, PyObject *env_mapping, - const Py_UNICODE *current_directory, + const wchar_t *current_directory, PyObject *startup_info); static PyObject * _winapi_CreateProcess(PyObject *module, PyObject *const *args, Py_ssize_t nargs) { PyObject *return_value = NULL; - const Py_UNICODE *application_name = NULL; + const wchar_t *application_name = NULL; PyObject *command_line; PyObject *proc_attrs; PyObject *thread_attrs; BOOL inherit_handles; DWORD creation_flags; PyObject *env_mapping; - const Py_UNICODE *current_directory = NULL; + const wchar_t *current_directory = NULL; PyObject *startup_info; if (!_PyArg_ParseStack(args, nargs, "O&OOOikOO&O:CreateProcess", @@ -1481,4 +1480,4 @@ _winapi_CopyFile2(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyO return return_value; } -/*[clinic end generated code: output=be1343b3759e0c96 input=a9049054013a1b77]*/ +/*[clinic end generated code: output=f32fe6ecdbffd74d input=a9049054013a1b77]*/ diff --git a/Modules/clinic/overlapped.c.h b/Modules/clinic/overlapped.c.h index 9d9f2cbf6afdc2..89928312211b60 100644 --- a/Modules/clinic/overlapped.c.h +++ b/Modules/clinic/overlapped.c.h @@ -273,7 +273,7 @@ PyDoc_STRVAR(_overlapped_CreateEvent__doc__, static PyObject * _overlapped_CreateEvent_impl(PyObject *module, PyObject *EventAttributes, BOOL ManualReset, BOOL InitialState, - const Py_UNICODE *Name); + const wchar_t *Name); static PyObject * _overlapped_CreateEvent(PyObject *module, PyObject *const *args, Py_ssize_t nargs) @@ -282,7 +282,7 @@ _overlapped_CreateEvent(PyObject *module, PyObject *const *args, Py_ssize_t narg PyObject *EventAttributes; BOOL ManualReset; BOOL InitialState; - const Py_UNICODE *Name = NULL; + const wchar_t *Name = NULL; if (!_PyArg_CheckPositional("CreateEvent", nargs, 4, 4)) { goto exit; @@ -1041,13 +1041,13 @@ PyDoc_STRVAR(_overlapped_Overlapped_ConnectPipe__doc__, static PyObject * _overlapped_Overlapped_ConnectPipe_impl(OverlappedObject *self, - const Py_UNICODE *Address); + const wchar_t *Address); static PyObject * _overlapped_Overlapped_ConnectPipe(OverlappedObject *self, PyObject *arg) { PyObject *return_value = NULL; - const Py_UNICODE *Address = NULL; + const wchar_t *Address = NULL; if (!PyUnicode_Check(arg)) { _PyArg_BadArgument("ConnectPipe", "argument", "str", arg); @@ -1262,4 +1262,4 @@ _overlapped_Overlapped_WSARecvFromInto(OverlappedObject *self, PyObject *const * return return_value; } -/*[clinic end generated code: output=b2e89694b8de3d00 input=a9049054013a1b77]*/ +/*[clinic end generated code: output=05fd038b8a81272d input=a9049054013a1b77]*/ diff --git a/Modules/clinic/posixmodule.c.h b/Modules/clinic/posixmodule.c.h index 3312bd667694dd..b8f0e5d1c4d20f 100644 --- a/Modules/clinic/posixmodule.c.h +++ b/Modules/clinic/posixmodule.c.h @@ -2793,7 +2793,7 @@ PyDoc_STRVAR(os_system__doc__, {"system", _PyCFunction_CAST(os_system), METH_FASTCALL|METH_KEYWORDS, os_system__doc__}, static long -os_system_impl(PyObject *module, const Py_UNICODE *command); +os_system_impl(PyObject *module, const wchar_t *command); static PyObject * os_system(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) @@ -2825,7 +2825,7 @@ os_system(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject *k }; #undef KWTUPLE PyObject *argsbuf[1]; - const Py_UNICODE *command = NULL; + const wchar_t *command = NULL; long _return_value; args = _PyArg_UnpackKeywords(args, nargs, NULL, kwnames, &_parser, 1, 1, 0, argsbuf); @@ -9367,7 +9367,7 @@ PyDoc_STRVAR(os_startfile__doc__, static PyObject * os_startfile_impl(PyObject *module, path_t *filepath, - const Py_UNICODE *operation, const Py_UNICODE *arguments, + const wchar_t *operation, const wchar_t *arguments, path_t *cwd, int show_cmd); static PyObject * @@ -9402,8 +9402,8 @@ os_startfile(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject PyObject *argsbuf[5]; Py_ssize_t noptargs = nargs + (kwnames ? PyTuple_GET_SIZE(kwnames) : 0) - 1; path_t filepath = PATH_T_INITIALIZE("startfile", "filepath", 0, 0); - const Py_UNICODE *operation = NULL; - const Py_UNICODE *arguments = NULL; + const wchar_t *operation = NULL; + const wchar_t *arguments = NULL; path_t cwd = PATH_T_INITIALIZE("startfile", "cwd", 1, 0); int show_cmd = 1; @@ -11990,4 +11990,4 @@ os_waitstatus_to_exitcode(PyObject *module, PyObject *const *args, Py_ssize_t na #ifndef OS_WAITSTATUS_TO_EXITCODE_METHODDEF #define OS_WAITSTATUS_TO_EXITCODE_METHODDEF #endif /* !defined(OS_WAITSTATUS_TO_EXITCODE_METHODDEF) */ -/*[clinic end generated code: output=9d8b0d6717c9af54 input=a9049054013a1b77]*/ +/*[clinic end generated code: output=02bece83d20d497b input=a9049054013a1b77]*/ diff --git a/Modules/overlapped.c b/Modules/overlapped.c index ac637316583d2d..18899509c87712 100644 --- a/Modules/overlapped.c +++ b/Modules/overlapped.c @@ -445,8 +445,8 @@ EventAttributes must be None. static PyObject * _overlapped_CreateEvent_impl(PyObject *module, PyObject *EventAttributes, BOOL ManualReset, BOOL InitialState, - const Py_UNICODE *Name) -/*[clinic end generated code: output=8e04f0916c17b13d input=dbc36ae14375ba24]*/ + const wchar_t *Name) +/*[clinic end generated code: output=b17ddc5fd506972d input=dbc36ae14375ba24]*/ { HANDLE Event; @@ -1600,8 +1600,8 @@ Connect to the pipe for asynchronous I/O (overlapped). static PyObject * _overlapped_Overlapped_ConnectPipe_impl(OverlappedObject *self, - const Py_UNICODE *Address) -/*[clinic end generated code: output=3cc9661667d459d4 input=167c06a274efcefc]*/ + const wchar_t *Address) +/*[clinic end generated code: output=67cbd8e4d3a57855 input=167c06a274efcefc]*/ { HANDLE PipeHandle; diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index 8a0c1608ab099c..1960c6377c2268 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -5650,8 +5650,8 @@ Execute the command in a subshell. [clinic start generated code]*/ static long -os_system_impl(PyObject *module, const Py_UNICODE *command) -/*[clinic end generated code: output=5b7c3599c068ca42 input=303f5ce97df606b0]*/ +os_system_impl(PyObject *module, const wchar_t *command) +/*[clinic end generated code: output=dd528cbd5943a679 input=303f5ce97df606b0]*/ { long result; @@ -13571,9 +13571,9 @@ the underlying Win32 ShellExecute function doesn't work if it is. static PyObject * os_startfile_impl(PyObject *module, path_t *filepath, - const Py_UNICODE *operation, const Py_UNICODE *arguments, + const wchar_t *operation, const wchar_t *arguments, path_t *cwd, int show_cmd) -/*[clinic end generated code: output=3baa4f9795841880 input=8248997b80669622]*/ +/*[clinic end generated code: output=1c6f2f3340e31ffa input=8248997b80669622]*/ { HINSTANCE rc; diff --git a/PC/clinic/winreg.c.h b/PC/clinic/winreg.c.h index 4109c85276f0a4..29077886e8d79c 100644 --- a/PC/clinic/winreg.c.h +++ b/PC/clinic/winreg.c.h @@ -192,14 +192,14 @@ PyDoc_STRVAR(winreg_ConnectRegistry__doc__, {"ConnectRegistry", _PyCFunction_CAST(winreg_ConnectRegistry), METH_FASTCALL, winreg_ConnectRegistry__doc__}, static HKEY -winreg_ConnectRegistry_impl(PyObject *module, - const Py_UNICODE *computer_name, HKEY key); +winreg_ConnectRegistry_impl(PyObject *module, const wchar_t *computer_name, + HKEY key); static PyObject * winreg_ConnectRegistry(PyObject *module, PyObject *const *args, Py_ssize_t nargs) { PyObject *return_value = NULL; - const Py_UNICODE *computer_name = NULL; + const wchar_t *computer_name = NULL; HKEY key; HKEY _return_value; @@ -262,14 +262,14 @@ PyDoc_STRVAR(winreg_CreateKey__doc__, {"CreateKey", _PyCFunction_CAST(winreg_CreateKey), METH_FASTCALL, winreg_CreateKey__doc__}, static HKEY -winreg_CreateKey_impl(PyObject *module, HKEY key, const Py_UNICODE *sub_key); +winreg_CreateKey_impl(PyObject *module, HKEY key, const wchar_t *sub_key); static PyObject * winreg_CreateKey(PyObject *module, PyObject *const *args, Py_ssize_t nargs) { PyObject *return_value = NULL; HKEY key; - const Py_UNICODE *sub_key = NULL; + const wchar_t *sub_key = NULL; HKEY _return_value; if (!_PyArg_CheckPositional("CreateKey", nargs, 2, 2)) { @@ -337,9 +337,8 @@ PyDoc_STRVAR(winreg_CreateKeyEx__doc__, {"CreateKeyEx", _PyCFunction_CAST(winreg_CreateKeyEx), METH_FASTCALL|METH_KEYWORDS, winreg_CreateKeyEx__doc__}, static HKEY -winreg_CreateKeyEx_impl(PyObject *module, HKEY key, - const Py_UNICODE *sub_key, int reserved, - REGSAM access); +winreg_CreateKeyEx_impl(PyObject *module, HKEY key, const wchar_t *sub_key, + int reserved, REGSAM access); static PyObject * winreg_CreateKeyEx(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) @@ -373,7 +372,7 @@ winreg_CreateKeyEx(PyObject *module, PyObject *const *args, Py_ssize_t nargs, Py PyObject *argsbuf[4]; Py_ssize_t noptargs = nargs + (kwnames ? PyTuple_GET_SIZE(kwnames) : 0) - 2; HKEY key; - const Py_UNICODE *sub_key = NULL; + const wchar_t *sub_key = NULL; int reserved = 0; REGSAM access = KEY_WRITE; HKEY _return_value; @@ -454,14 +453,14 @@ PyDoc_STRVAR(winreg_DeleteKey__doc__, {"DeleteKey", _PyCFunction_CAST(winreg_DeleteKey), METH_FASTCALL, winreg_DeleteKey__doc__}, static PyObject * -winreg_DeleteKey_impl(PyObject *module, HKEY key, const Py_UNICODE *sub_key); +winreg_DeleteKey_impl(PyObject *module, HKEY key, const wchar_t *sub_key); static PyObject * winreg_DeleteKey(PyObject *module, PyObject *const *args, Py_ssize_t nargs) { PyObject *return_value = NULL; HKEY key; - const Py_UNICODE *sub_key = NULL; + const wchar_t *sub_key = NULL; if (!_PyArg_CheckPositional("DeleteKey", nargs, 2, 2)) { goto exit; @@ -522,9 +521,8 @@ PyDoc_STRVAR(winreg_DeleteKeyEx__doc__, {"DeleteKeyEx", _PyCFunction_CAST(winreg_DeleteKeyEx), METH_FASTCALL|METH_KEYWORDS, winreg_DeleteKeyEx__doc__}, static PyObject * -winreg_DeleteKeyEx_impl(PyObject *module, HKEY key, - const Py_UNICODE *sub_key, REGSAM access, - int reserved); +winreg_DeleteKeyEx_impl(PyObject *module, HKEY key, const wchar_t *sub_key, + REGSAM access, int reserved); static PyObject * winreg_DeleteKeyEx(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) @@ -558,7 +556,7 @@ winreg_DeleteKeyEx(PyObject *module, PyObject *const *args, Py_ssize_t nargs, Py PyObject *argsbuf[4]; Py_ssize_t noptargs = nargs + (kwnames ? PyTuple_GET_SIZE(kwnames) : 0) - 2; HKEY key; - const Py_UNICODE *sub_key = NULL; + const wchar_t *sub_key = NULL; REGSAM access = KEY_WOW64_64KEY; int reserved = 0; @@ -622,14 +620,14 @@ PyDoc_STRVAR(winreg_DeleteValue__doc__, {"DeleteValue", _PyCFunction_CAST(winreg_DeleteValue), METH_FASTCALL, winreg_DeleteValue__doc__}, static PyObject * -winreg_DeleteValue_impl(PyObject *module, HKEY key, const Py_UNICODE *value); +winreg_DeleteValue_impl(PyObject *module, HKEY key, const wchar_t *value); static PyObject * winreg_DeleteValue(PyObject *module, PyObject *const *args, Py_ssize_t nargs) { PyObject *return_value = NULL; HKEY key; - const Py_UNICODE *value = NULL; + const wchar_t *value = NULL; if (!_PyArg_CheckPositional("DeleteValue", nargs, 2, 2)) { goto exit; @@ -778,14 +776,13 @@ PyDoc_STRVAR(winreg_ExpandEnvironmentStrings__doc__, {"ExpandEnvironmentStrings", (PyCFunction)winreg_ExpandEnvironmentStrings, METH_O, winreg_ExpandEnvironmentStrings__doc__}, static PyObject * -winreg_ExpandEnvironmentStrings_impl(PyObject *module, - const Py_UNICODE *string); +winreg_ExpandEnvironmentStrings_impl(PyObject *module, const wchar_t *string); static PyObject * winreg_ExpandEnvironmentStrings(PyObject *module, PyObject *arg) { PyObject *return_value = NULL; - const Py_UNICODE *string = NULL; + const wchar_t *string = NULL; if (!PyUnicode_Check(arg)) { _PyArg_BadArgument("ExpandEnvironmentStrings", "argument", "str", arg); @@ -884,16 +881,16 @@ PyDoc_STRVAR(winreg_LoadKey__doc__, {"LoadKey", _PyCFunction_CAST(winreg_LoadKey), METH_FASTCALL, winreg_LoadKey__doc__}, static PyObject * -winreg_LoadKey_impl(PyObject *module, HKEY key, const Py_UNICODE *sub_key, - const Py_UNICODE *file_name); +winreg_LoadKey_impl(PyObject *module, HKEY key, const wchar_t *sub_key, + const wchar_t *file_name); static PyObject * winreg_LoadKey(PyObject *module, PyObject *const *args, Py_ssize_t nargs) { PyObject *return_value = NULL; HKEY key; - const Py_UNICODE *sub_key = NULL; - const Py_UNICODE *file_name = NULL; + const wchar_t *sub_key = NULL; + const wchar_t *file_name = NULL; if (!_PyArg_CheckPositional("LoadKey", nargs, 3, 3)) { goto exit; @@ -955,7 +952,7 @@ PyDoc_STRVAR(winreg_OpenKey__doc__, {"OpenKey", _PyCFunction_CAST(winreg_OpenKey), METH_FASTCALL|METH_KEYWORDS, winreg_OpenKey__doc__}, static HKEY -winreg_OpenKey_impl(PyObject *module, HKEY key, const Py_UNICODE *sub_key, +winreg_OpenKey_impl(PyObject *module, HKEY key, const wchar_t *sub_key, int reserved, REGSAM access); static PyObject * @@ -990,7 +987,7 @@ winreg_OpenKey(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObje PyObject *argsbuf[4]; Py_ssize_t noptargs = nargs + (kwnames ? PyTuple_GET_SIZE(kwnames) : 0) - 2; HKEY key; - const Py_UNICODE *sub_key = NULL; + const wchar_t *sub_key = NULL; int reserved = 0; REGSAM access = KEY_READ; HKEY _return_value; @@ -1072,7 +1069,7 @@ PyDoc_STRVAR(winreg_OpenKeyEx__doc__, {"OpenKeyEx", _PyCFunction_CAST(winreg_OpenKeyEx), METH_FASTCALL|METH_KEYWORDS, winreg_OpenKeyEx__doc__}, static HKEY -winreg_OpenKeyEx_impl(PyObject *module, HKEY key, const Py_UNICODE *sub_key, +winreg_OpenKeyEx_impl(PyObject *module, HKEY key, const wchar_t *sub_key, int reserved, REGSAM access); static PyObject * @@ -1107,7 +1104,7 @@ winreg_OpenKeyEx(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyOb PyObject *argsbuf[4]; Py_ssize_t noptargs = nargs + (kwnames ? PyTuple_GET_SIZE(kwnames) : 0) - 2; HKEY key; - const Py_UNICODE *sub_key = NULL; + const wchar_t *sub_key = NULL; int reserved = 0; REGSAM access = KEY_READ; HKEY _return_value; @@ -1230,14 +1227,14 @@ PyDoc_STRVAR(winreg_QueryValue__doc__, {"QueryValue", _PyCFunction_CAST(winreg_QueryValue), METH_FASTCALL, winreg_QueryValue__doc__}, static PyObject * -winreg_QueryValue_impl(PyObject *module, HKEY key, const Py_UNICODE *sub_key); +winreg_QueryValue_impl(PyObject *module, HKEY key, const wchar_t *sub_key); static PyObject * winreg_QueryValue(PyObject *module, PyObject *const *args, Py_ssize_t nargs) { PyObject *return_value = NULL; HKEY key; - const Py_UNICODE *sub_key = NULL; + const wchar_t *sub_key = NULL; if (!_PyArg_CheckPositional("QueryValue", nargs, 2, 2)) { goto exit; @@ -1291,14 +1288,14 @@ PyDoc_STRVAR(winreg_QueryValueEx__doc__, {"QueryValueEx", _PyCFunction_CAST(winreg_QueryValueEx), METH_FASTCALL, winreg_QueryValueEx__doc__}, static PyObject * -winreg_QueryValueEx_impl(PyObject *module, HKEY key, const Py_UNICODE *name); +winreg_QueryValueEx_impl(PyObject *module, HKEY key, const wchar_t *name); static PyObject * winreg_QueryValueEx(PyObject *module, PyObject *const *args, Py_ssize_t nargs) { PyObject *return_value = NULL; HKEY key; - const Py_UNICODE *name = NULL; + const wchar_t *name = NULL; if (!_PyArg_CheckPositional("QueryValueEx", nargs, 2, 2)) { goto exit; @@ -1357,14 +1354,14 @@ PyDoc_STRVAR(winreg_SaveKey__doc__, {"SaveKey", _PyCFunction_CAST(winreg_SaveKey), METH_FASTCALL, winreg_SaveKey__doc__}, static PyObject * -winreg_SaveKey_impl(PyObject *module, HKEY key, const Py_UNICODE *file_name); +winreg_SaveKey_impl(PyObject *module, HKEY key, const wchar_t *file_name); static PyObject * winreg_SaveKey(PyObject *module, PyObject *const *args, Py_ssize_t nargs) { PyObject *return_value = NULL; HKEY key; - const Py_UNICODE *file_name = NULL; + const wchar_t *file_name = NULL; if (!_PyArg_CheckPositional("SaveKey", nargs, 2, 2)) { goto exit; @@ -1423,7 +1420,7 @@ PyDoc_STRVAR(winreg_SetValue__doc__, {"SetValue", _PyCFunction_CAST(winreg_SetValue), METH_FASTCALL, winreg_SetValue__doc__}, static PyObject * -winreg_SetValue_impl(PyObject *module, HKEY key, const Py_UNICODE *sub_key, +winreg_SetValue_impl(PyObject *module, HKEY key, const wchar_t *sub_key, DWORD type, PyObject *value_obj); static PyObject * @@ -1431,7 +1428,7 @@ winreg_SetValue(PyObject *module, PyObject *const *args, Py_ssize_t nargs) { PyObject *return_value = NULL; HKEY key; - const Py_UNICODE *sub_key = NULL; + const wchar_t *sub_key = NULL; DWORD type; PyObject *value_obj; @@ -1525,16 +1522,15 @@ PyDoc_STRVAR(winreg_SetValueEx__doc__, {"SetValueEx", _PyCFunction_CAST(winreg_SetValueEx), METH_FASTCALL, winreg_SetValueEx__doc__}, static PyObject * -winreg_SetValueEx_impl(PyObject *module, HKEY key, - const Py_UNICODE *value_name, PyObject *reserved, - DWORD type, PyObject *value); +winreg_SetValueEx_impl(PyObject *module, HKEY key, const wchar_t *value_name, + PyObject *reserved, DWORD type, PyObject *value); static PyObject * winreg_SetValueEx(PyObject *module, PyObject *const *args, Py_ssize_t nargs) { PyObject *return_value = NULL; HKEY key; - const Py_UNICODE *value_name = NULL; + const wchar_t *value_name = NULL; PyObject *reserved; DWORD type; PyObject *value; @@ -1795,4 +1791,4 @@ winreg_QueryReflectionKey(PyObject *module, PyObject *arg) #ifndef WINREG_QUERYREFLECTIONKEY_METHODDEF #define WINREG_QUERYREFLECTIONKEY_METHODDEF #endif /* !defined(WINREG_QUERYREFLECTIONKEY_METHODDEF) */ -/*[clinic end generated code: output=15dc2e6c4d4e2ad5 input=a9049054013a1b77]*/ +/*[clinic end generated code: output=bbfdbb8681102d5c input=a9049054013a1b77]*/ diff --git a/PC/winreg.c b/PC/winreg.c index e2d5322f458c2a..279d48f792b96a 100644 --- a/PC/winreg.c +++ b/PC/winreg.c @@ -868,9 +868,9 @@ If the function fails, an OSError exception is raised. [clinic start generated code]*/ static HKEY -winreg_ConnectRegistry_impl(PyObject *module, - const Py_UNICODE *computer_name, HKEY key) -/*[clinic end generated code: output=cd4f70fb9ec901fb input=5f98a891a347e68e]*/ +winreg_ConnectRegistry_impl(PyObject *module, const wchar_t *computer_name, + HKEY key) +/*[clinic end generated code: output=c77d12428f4bfe29 input=5f98a891a347e68e]*/ { HKEY retKey; long rc; @@ -911,8 +911,8 @@ If the function fails, an OSError exception is raised. [clinic start generated code]*/ static HKEY -winreg_CreateKey_impl(PyObject *module, HKEY key, const Py_UNICODE *sub_key) -/*[clinic end generated code: output=2af13910d56eae26 input=3cdd1622488acea2]*/ +winreg_CreateKey_impl(PyObject *module, HKEY key, const wchar_t *sub_key) +/*[clinic end generated code: output=58d3eb2ed428a84d input=3cdd1622488acea2]*/ { HKEY retKey; long rc; @@ -959,10 +959,9 @@ If the function fails, an OSError exception is raised. [clinic start generated code]*/ static HKEY -winreg_CreateKeyEx_impl(PyObject *module, HKEY key, - const Py_UNICODE *sub_key, int reserved, - REGSAM access) -/*[clinic end generated code: output=643a70ad6a361a97 input=42c2b03f98406b66]*/ +winreg_CreateKeyEx_impl(PyObject *module, HKEY key, const wchar_t *sub_key, + int reserved, REGSAM access) +/*[clinic end generated code: output=51b53e38d5e00d4b input=42c2b03f98406b66]*/ { HKEY retKey; long rc; @@ -1004,8 +1003,8 @@ is removed. If the function fails, an OSError exception is raised. [clinic start generated code]*/ static PyObject * -winreg_DeleteKey_impl(PyObject *module, HKEY key, const Py_UNICODE *sub_key) -/*[clinic end generated code: output=d2652a84f70e0862 input=b31d225b935e4211]*/ +winreg_DeleteKey_impl(PyObject *module, HKEY key, const wchar_t *sub_key) +/*[clinic end generated code: output=2e9f7c09eb7701b8 input=b31d225b935e4211]*/ { long rc; if (PySys_Audit("winreg.DeleteKey", "nun", @@ -1049,10 +1048,9 @@ On unsupported Windows versions, NotImplementedError is raised. [clinic start generated code]*/ static PyObject * -winreg_DeleteKeyEx_impl(PyObject *module, HKEY key, - const Py_UNICODE *sub_key, REGSAM access, - int reserved) -/*[clinic end generated code: output=52a1c8b374ebc003 input=a3186db079b3bf85]*/ +winreg_DeleteKeyEx_impl(PyObject *module, HKEY key, const wchar_t *sub_key, + REGSAM access, int reserved) +/*[clinic end generated code: output=3bf4865c783fe7b2 input=a3186db079b3bf85]*/ { long rc; if (PySys_Audit("winreg.DeleteKey", "nun", @@ -1081,8 +1079,8 @@ Removes a named value from a registry key. [clinic start generated code]*/ static PyObject * -winreg_DeleteValue_impl(PyObject *module, HKEY key, const Py_UNICODE *value) -/*[clinic end generated code: output=56fa9d21f3a54371 input=a78d3407a4197b21]*/ +winreg_DeleteValue_impl(PyObject *module, HKEY key, const wchar_t *value) +/*[clinic end generated code: output=ed24b297aab137a5 input=a78d3407a4197b21]*/ { long rc; if (PySys_Audit("winreg.DeleteValue", "nu", @@ -1261,9 +1259,8 @@ Expand environment vars. [clinic start generated code]*/ static PyObject * -winreg_ExpandEnvironmentStrings_impl(PyObject *module, - const Py_UNICODE *string) -/*[clinic end generated code: output=8fa4e959747a7312 input=b2a9714d2b751aa6]*/ +winreg_ExpandEnvironmentStrings_impl(PyObject *module, const wchar_t *string) +/*[clinic end generated code: output=53f120bbe788fa6f input=b2a9714d2b751aa6]*/ { wchar_t *retValue = NULL; DWORD retValueSize; @@ -1365,9 +1362,9 @@ tree. [clinic start generated code]*/ static PyObject * -winreg_LoadKey_impl(PyObject *module, HKEY key, const Py_UNICODE *sub_key, - const Py_UNICODE *file_name) -/*[clinic end generated code: output=65f89f2548cb27c7 input=e3b5b45ade311582]*/ +winreg_LoadKey_impl(PyObject *module, HKEY key, const wchar_t *sub_key, + const wchar_t *file_name) +/*[clinic end generated code: output=5561b0216e5ab263 input=e3b5b45ade311582]*/ { long rc; @@ -1405,9 +1402,9 @@ If the function fails, an OSError exception is raised. [clinic start generated code]*/ static HKEY -winreg_OpenKey_impl(PyObject *module, HKEY key, const Py_UNICODE *sub_key, +winreg_OpenKey_impl(PyObject *module, HKEY key, const wchar_t *sub_key, int reserved, REGSAM access) -/*[clinic end generated code: output=8849bff2c30104ad input=098505ac36a9ae28]*/ +/*[clinic end generated code: output=5efbad23b3ffe2e7 input=098505ac36a9ae28]*/ { HKEY retKey; long rc; @@ -1441,9 +1438,9 @@ If the function fails, an OSError exception is raised. [clinic start generated code]*/ static HKEY -winreg_OpenKeyEx_impl(PyObject *module, HKEY key, const Py_UNICODE *sub_key, +winreg_OpenKeyEx_impl(PyObject *module, HKEY key, const wchar_t *sub_key, int reserved, REGSAM access) -/*[clinic end generated code: output=81bc2bd684bc77ae input=c6c4972af8622959]*/ +/*[clinic end generated code: output=435e675800fa78c2 input=c6c4972af8622959]*/ { return winreg_OpenKey_impl(module, key, sub_key, reserved, access); } @@ -1517,8 +1514,8 @@ completeness. [clinic start generated code]*/ static PyObject * -winreg_QueryValue_impl(PyObject *module, HKEY key, const Py_UNICODE *sub_key) -/*[clinic end generated code: output=c655810ae50c63a9 input=41cafbbf423b21d6]*/ +winreg_QueryValue_impl(PyObject *module, HKEY key, const wchar_t *sub_key) +/*[clinic end generated code: output=b665ce9ae391fda9 input=41cafbbf423b21d6]*/ { LONG rc; HKEY childKey = key; @@ -1612,8 +1609,8 @@ The return value is a tuple of the value and the type_id. [clinic start generated code]*/ static PyObject * -winreg_QueryValueEx_impl(PyObject *module, HKEY key, const Py_UNICODE *name) -/*[clinic end generated code: output=f1b85b1c3d887ec7 input=cf366cada4836891]*/ +winreg_QueryValueEx_impl(PyObject *module, HKEY key, const wchar_t *name) +/*[clinic end generated code: output=2cdecaa44c8c333e input=cf366cada4836891]*/ { long rc; BYTE *retBuf, *tmp; @@ -1691,8 +1688,8 @@ to the API. [clinic start generated code]*/ static PyObject * -winreg_SaveKey_impl(PyObject *module, HKEY key, const Py_UNICODE *file_name) -/*[clinic end generated code: output=ca94b835c88f112b input=da735241f91ac7a2]*/ +winreg_SaveKey_impl(PyObject *module, HKEY key, const wchar_t *file_name) +/*[clinic end generated code: output=249b1b58b9598eef input=da735241f91ac7a2]*/ { LPSECURITY_ATTRIBUTES pSA = NULL; @@ -1743,9 +1740,9 @@ KEY_SET_VALUE access. [clinic start generated code]*/ static PyObject * -winreg_SetValue_impl(PyObject *module, HKEY key, const Py_UNICODE *sub_key, +winreg_SetValue_impl(PyObject *module, HKEY key, const wchar_t *sub_key, DWORD type, PyObject *value_obj) -/*[clinic end generated code: output=d4773dc9c372311a input=bf088494ae2d24fd]*/ +/*[clinic end generated code: output=de590747df47d2c7 input=bf088494ae2d24fd]*/ { LONG rc; HKEY childKey = key; @@ -1858,10 +1855,9 @@ the configuration registry to help the registry perform efficiently. [clinic start generated code]*/ static PyObject * -winreg_SetValueEx_impl(PyObject *module, HKEY key, - const Py_UNICODE *value_name, PyObject *reserved, - DWORD type, PyObject *value) -/*[clinic end generated code: output=811b769a66ae11b7 input=900a9e3990bfb196]*/ +winreg_SetValueEx_impl(PyObject *module, HKEY key, const wchar_t *value_name, + PyObject *reserved, DWORD type, PyObject *value) +/*[clinic end generated code: output=295db04deb456d9e input=900a9e3990bfb196]*/ { LONG rc; BYTE *data = NULL; diff --git a/Tools/clinic/clinic.py b/Tools/clinic/clinic.py index d182e5e7764e46..930715a8d72a43 100755 --- a/Tools/clinic/clinic.py +++ b/Tools/clinic/clinic.py @@ -3743,7 +3743,7 @@ def parse_arg(self, argname: str, displayname: str) -> str: @add_legacy_c_converter('Z', accept={str, NoneType}) @add_legacy_c_converter('Z#', accept={str, NoneType}, zeroes=True) class Py_UNICODE_converter(CConverter): - type = 'const Py_UNICODE *' + type = 'const wchar_t *' default_type = (str, Null, NoneType) def converter_init(