[Python-checkins] python/dist/src/Doc/ext run-func.c,1.4,1.4.20.1
birkenfeld@users.sourceforge.net
birkenfeld at users.sourceforge.net
Tue Jul 12 15:18:06 CEST 2005
Update of /cvsroot/python/python/dist/src/Doc/ext
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3346/Doc/ext
Modified Files:
Tag: release24-maint
run-func.c
Log Message:
backport bug [ 1232768 ] Mistakes in online docs under "5.3 Pure Embedding"
Index: run-func.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Doc/ext/run-func.c,v
retrieving revision 1.4
retrieving revision 1.4.20.1
diff -u -d -r1.4 -r1.4.20.1
--- run-func.c 17 Dec 2002 00:40:38 -0000 1.4
+++ run-func.c 12 Jul 2005 13:18:04 -0000 1.4.20.1
@@ -20,11 +20,8 @@
Py_DECREF(pName);
if (pModule != NULL) {
- pDict = PyModule_GetDict(pModule);
- /* pDict is a borrowed reference */
-
- pFunc = PyDict_GetItemString(pDict, argv[2]);
- /* pFun: Borrowed reference */
+ pFunc = PyDict_GetItemString(pModule, argv[2]);
+ /* pFunc is a new reference */
if (pFunc && PyCallable_Check(pFunc)) {
pArgs = PyTuple_New(argc - 3);
@@ -46,18 +43,19 @@
Py_DECREF(pValue);
}
else {
+ Py_DECREF(pFunc);
Py_DECREF(pModule);
PyErr_Print();
fprintf(stderr,"Call failed\n");
return 1;
}
- /* pDict and pFunc are borrowed and must not be Py_DECREF-ed */
}
else {
if (PyErr_Occurred())
PyErr_Print();
fprintf(stderr, "Cannot find function \"%s\"\n", argv[2]);
}
+ Py_XDECREF(pFunc);
Py_DECREF(pModule);
}
else {
More information about the Python-checkins
mailing list