[Python-checkins] python/dist/src/Modules gcmodule.c,2.65,2.66
tim_one@users.sourceforge.net
tim_one@users.sourceforge.net
2003年4月06日 16:30:56 -0700
Update of /cvsroot/python/python/dist/src/Modules
In directory sc8-pr-cvs1:/tmp/cvs-serv29154/Modules
Modified Files:
gcmodule.c
Log Message:
initgc(): Rewrote to use the PyModule_AddXYZ API; cuts code size.
Index: gcmodule.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Modules/gcmodule.c,v
retrieving revision 2.65
retrieving revision 2.66
diff -C2 -d -r2.65 -r2.66
*** gcmodule.c 6 Apr 2003 19:41:39 -0000 2.65
--- gcmodule.c 6 Apr 2003 23:30:52 -0000 2.66
***************
*** 974,978 ****
{
PyObject *m;
- PyObject *d;
m = Py_InitModule4("gc",
--- 974,977 ----
***************
*** 981,1003 ****
NULL,
PYTHON_API_VERSION);
! d = PyModule_GetDict(m);
if (garbage == NULL) {
garbage = PyList_New(0);
}
! PyDict_SetItemString(d, "garbage", garbage);
! PyDict_SetItemString(d, "DEBUG_STATS",
! PyInt_FromLong(DEBUG_STATS));
! PyDict_SetItemString(d, "DEBUG_COLLECTABLE",
! PyInt_FromLong(DEBUG_COLLECTABLE));
! PyDict_SetItemString(d, "DEBUG_UNCOLLECTABLE",
! PyInt_FromLong(DEBUG_UNCOLLECTABLE));
! PyDict_SetItemString(d, "DEBUG_INSTANCES",
! PyInt_FromLong(DEBUG_INSTANCES));
! PyDict_SetItemString(d, "DEBUG_OBJECTS",
! PyInt_FromLong(DEBUG_OBJECTS));
! PyDict_SetItemString(d, "DEBUG_SAVEALL",
! PyInt_FromLong(DEBUG_SAVEALL));
! PyDict_SetItemString(d, "DEBUG_LEAK",
! PyInt_FromLong(DEBUG_LEAK));
}
--- 980,1000 ----
NULL,
PYTHON_API_VERSION);
!
if (garbage == NULL) {
garbage = PyList_New(0);
+ if (garbage == NULL)
+ return;
}
! if (PyModule_AddObject(m, "garbage", garbage) < 0)
! return;
! #define ADD_INT(NAME) if (PyModule_AddIntConstant(m, #NAME, NAME) < 0) return
! ADD_INT(DEBUG_STATS);
! ADD_INT(DEBUG_COLLECTABLE);
! ADD_INT(DEBUG_UNCOLLECTABLE);
! ADD_INT(DEBUG_INSTANCES);
! ADD_INT(DEBUG_OBJECTS);
! ADD_INT(DEBUG_SAVEALL);
! ADD_INT(DEBUG_LEAK);
! #undef ADD_INT
}