mirror of
https://github.com/python/cpython
synced 2024-09-05 08:17:45 +00:00
gh-95417: Quick fix for "ULONG_PTR differs in levels of indirection from void *" (GH-95538)
This commit is contained in:
parent
c0cd790219
commit
858c9a58bf
6
Modules/clinic/overlapped.c.h
generated
6
Modules/clinic/overlapped.c.h
generated
|
@ -37,7 +37,7 @@ _overlapped_CreateIoCompletionPort(PyObject *module, PyObject *const *args, Py_s
|
|||
if (!ExistingCompletionPort && PyErr_Occurred()) {
|
||||
goto exit;
|
||||
}
|
||||
CompletionKey = PyLong_AsVoidPtr(args[2]);
|
||||
CompletionKey = (uintptr_t)PyLong_AsVoidPtr(args[2]);
|
||||
if (!CompletionKey && PyErr_Occurred()) {
|
||||
goto exit;
|
||||
}
|
||||
|
@ -124,7 +124,7 @@ _overlapped_PostQueuedCompletionStatus(PyObject *module, PyObject *const *args,
|
|||
if (!_PyLong_UnsignedLong_Converter(args[1], &NumberOfBytes)) {
|
||||
goto exit;
|
||||
}
|
||||
CompletionKey = PyLong_AsVoidPtr(args[2]);
|
||||
CompletionKey = (uintptr_t)PyLong_AsVoidPtr(args[2]);
|
||||
if (!CompletionKey && PyErr_Occurred()) {
|
||||
goto exit;
|
||||
}
|
||||
|
@ -1225,4 +1225,4 @@ exit:
|
|||
|
||||
return return_value;
|
||||
}
|
||||
/*[clinic end generated code: output=d90cda84e49a7c23 input=a9049054013a1b77]*/
|
||||
/*[clinic end generated code: output=edd05b7a6c9c3aac input=a9049054013a1b77]*/
|
||||
|
|
|
@ -52,13 +52,21 @@ class HANDLE_converter(pointer_converter):
|
|||
class ULONG_PTR_converter(pointer_converter):
|
||||
type = 'ULONG_PTR'
|
||||
|
||||
def parse_arg(self, argname, displayname):
|
||||
return """
|
||||
{paramname} = (uintptr_t)PyLong_AsVoidPtr({argname});
|
||||
if (!{paramname} && PyErr_Occurred()) {{{{
|
||||
goto exit;
|
||||
}}}}
|
||||
""".format(argname=argname, paramname=self.parser_name)
|
||||
|
||||
class DWORD_converter(unsigned_long_converter):
|
||||
type = 'DWORD'
|
||||
|
||||
class BOOL_converter(int_converter):
|
||||
type = 'BOOL'
|
||||
[python start generated code]*/
|
||||
/*[python end generated code: output=da39a3ee5e6b4b0d input=a19133a9e14fae9c]*/
|
||||
/*[python end generated code: output=da39a3ee5e6b4b0d input=8a07ea3018f4cec8]*/
|
||||
|
||||
/*[clinic input]
|
||||
module _overlapped
|
||||
|
|
Loading…
Reference in a new issue