correct initialization code (#3376)

Explicitly initialize struct members rather than relying on compiler extensions.
This commit is contained in:
Benjamin Peterson 2017-09-05 20:19:12 -07:00 committed by GitHub
parent 76d5abc868
commit b0a9a5a6a4
2 changed files with 2 additions and 3 deletions

View file

@ -77,7 +77,7 @@ extern void _PyGILState_Init(PyInterpreterState *, PyThreadState *);
extern void _PyGILState_Fini(void); extern void _PyGILState_Fini(void);
#endif /* WITH_THREAD */ #endif /* WITH_THREAD */
_PyRuntimeState _PyRuntime = {}; _PyRuntimeState _PyRuntime = {0, 0};
void void
_PyRuntime_Initialize(void) _PyRuntime_Initialize(void)

View file

@ -37,8 +37,7 @@ extern "C" {
void void
_PyRuntimeState_Init(_PyRuntimeState *runtime) _PyRuntimeState_Init(_PyRuntimeState *runtime)
{ {
_PyRuntimeState initial = {}; memset(runtime, 0, sizeof(*runtime));
*runtime = initial;
_PyObject_Initialize(&runtime->obj); _PyObject_Initialize(&runtime->obj);
_PyMem_Initialize(&runtime->mem); _PyMem_Initialize(&runtime->mem);