[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:
Miss Islington (bot)
2026-05-01 15:43:38 +02:00
committed by GitHub
parent e6eac2b3aa
commit 5ec845a044
+5
View File
@@ -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;
}