-
-
Notifications
You must be signed in to change notification settings - Fork 31.6k
[C API] marshal.h must not use FILE* type in the limited C API #89637
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Include/marshal.h defines 2 functions with FILE* argument in the limited C API, whereas the PEP-384 disallows that: "In addition, functions expecting FILE* are not part of the ABI, to avoid depending on a specific version of the Microsoft C runtime DLL on Windows." PyAPI_FUNC(void) PyMarshal_WriteLongToFile(long, FILE *, int);
PyAPI_FUNC(void) PyMarshal_WriteObjectToFile(PyObject *, FILE *, int); I propose to exclude these functions from the limited C API. Hopefully, they are not part of the documented stable ABI. |
Just note that these were *not* part of the limited API, which is defined in Misc/stable_abi.txt rather than the #ifdefs: https://docs.python.org/3.10/c-api/stable.html#stable |
Petr:
Thanks for double checking. I wasn't sure ;-) |
Nothing from marshal.h is part of the limited API, and nothing from there is exported in the stable ABI DLL. |
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: