Changeset 577


Ignore:
Timestamp:
Nov 21, 2015, 2:22:07 PM (4 years ago)
Author:
cito
Message:

Use the py3c macros for module initialization

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/module/pgmodule.c

    r572 r577  
    22442244
    22452245        /* attributes list */
     2246
    22462247        if (!strcmp(name, "__members__"))
    22472248        {
     
    22742275        sizeof(connObject),                     /* tp_basicsize */
    22752276        0,                                                      /* tp_itemsize */
    2276 
    2277         /* methods */
    22782277        (destructor) connDelete,        /* tp_dealloc */
    22792278        0,                                                      /* tp_print */
     
    42074206static char pg__doc__[] = "Python interface to PostgreSQL DB";
    42084207
    4209 #if IS_PY3
    4210 static struct PyModuleDef pgType = {
     4208static struct PyModuleDef moduleDef = {
    42114209        PyModuleDef_HEAD_INIT,
    4212         "pg",           /* m_name */
     4210        "_pg",          /* m_name */
    42134211        pg__doc__,      /* m_doc */
    42144212        -1,                     /* m_size */
    4215         pgMethods,      /* m_methods */
    4216         NULL,           /* m_reload */
    4217         NULL,           /* m_traverse */
    4218         NULL,           /* m_clear */
    4219         NULL            /* m_free */
     4213        pgMethods       /* m_methods */
    42204214};
    42214215
    42224216/* Initialization function for the module */
    4223 PyMODINIT_FUNC PyInit__pg(void)
    4224 #else
    4225 void init_pg(void)
    4226 #endif
     4217MODULE_INIT_FUNC(_pg)
    42274218{
    42284219        PyObject   *mod, *dict, *v;
    42294220
    42304221        /* Create the module and add the functions */
    4231 #if IS_PY3
    4232         mod = PyModule_Create(&pgType);
    4233 #else
    4234         /* Initialize here because some WIN platforms get confused otherwise */
     4222
     4223        mod = PyModule_Create(&moduleDef);
     4224
     4225#if !IS_PY3
     4226        /* TODO: Check whether this is still necessary, and also needed in Py 3. */
     4227        /* Initialize here because some Windows platforms get confused otherwise */
    42354228        connType.ob_type = noticeType.ob_type =
    42364229                queryType.ob_type = sourceType.ob_type = &PyType_Type;
     
    42394232        largeType.ob_type = &PyType_Type;
    42404233#endif
    4241 
    4242         mod = Py_InitModule4("_pg", pgMethods, pg__doc__, NULL, PYTHON_API_VERSION);
    42434234#endif
     4235
    42444236        dict = PyModule_GetDict(mod);
    42454237
     
    43294321        /* Check for errors */
    43304322        if (PyErr_Occurred())
    4331                 Py_FatalError("can't initialize module _pg");
    4332 
    4333 #if IS_PY3
     4323                return NULL;
     4324
    43344325        return mod;
    4335 #endif
    4336 }
     4326}
Note: See TracChangeset for help on using the changeset viewer.