From 63f21af8d01a38cbefcaae87fe8746ba744eb80d Mon Sep 17 00:00:00 2001 From: William S Fulton Date: Thu, 12 May 2011 20:20:36 +0000 Subject: [PATCH] PyVarObject_HEAD_INIT to conform to C standard - pointers cannot be used in static initializers git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12660 626c5289-ae23-0410-ae9c-e8d60b6d4f22 --- Lib/python/pyinit.swg | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/Lib/python/pyinit.swg b/Lib/python/pyinit.swg index d5de1f8a6..7a32a5046 100644 --- a/Lib/python/pyinit.swg +++ b/Lib/python/pyinit.swg @@ -143,7 +143,7 @@ swig_varlink_type(void) { const PyTypeObject tmp = { /* PyObject header changed in Python 3 */ #if PY_VERSION_HEX >= 0x03000000 - PyVarObject_HEAD_INIT(&PyType_Type, 0) + PyVarObject_HEAD_INIT(NULL, 0) #else PyObject_HEAD_INIT(NULL) 0, /* ob_size */ @@ -186,11 +186,13 @@ swig_varlink_type(void) { #endif }; varlink_type = tmp; - /* for Python 3 we already assigned ob_type in PyVarObject_HEAD_INIT() */ -#if PY_VERSION_HEX < 0x03000000 - varlink_type.ob_type = &PyType_Type; -#endif type_init = 1; +#if PY_VERSION_HEX < 0x02020000 + varlink_type.ob_type = &PyType_Type; +#else + if (PyType_Ready(&varlink_type) < 0) + return NULL; +#endif } return &varlink_type; }