mirror of
https://github.com/python/cpython.git
synced 2026-05-06 04:37:33 -04:00
[3.14] gh-148967: Fix FFI type pointer handling for C complex support in set_stginfo_ffi_type_pointer (GH-148969) (GH-149224)
(cherry picked from commit f2c7c0d2b7)
Co-authored-by: sunmy2019 <59365878+sunmy2019@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
e6eac2b3aa
commit
5ec845a044
@@ -2235,6 +2235,7 @@ c_void_p_from_param_impl(PyObject *type, PyTypeObject *cls, PyObject *value)
|
||||
static int
|
||||
set_stginfo_ffi_type_pointer(StgInfo *stginfo, struct fielddesc *fmt)
|
||||
{
|
||||
#if defined(_Py_FFI_SUPPORT_C_COMPLEX)
|
||||
if (!fmt->pffi_type->elements) {
|
||||
stginfo->ffi_type_pointer = *fmt->pffi_type;
|
||||
}
|
||||
@@ -2254,6 +2255,10 @@ set_stginfo_ffi_type_pointer(StgInfo *stginfo, struct fielddesc *fmt)
|
||||
memcpy(stginfo->ffi_type_pointer.elements,
|
||||
fmt->pffi_type->elements, els_size);
|
||||
}
|
||||
#else
|
||||
assert(!fmt->pffi_type->elements);
|
||||
stginfo->ffi_type_pointer = *fmt->pffi_type;
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user