[Python-checkins] python/dist/src/Modules itertoolsmodule.c, 1.35,
1.36
rhettinger at users.sourceforge.net
rhettinger at users.sourceforge.net
Tue Sep 28 06:45:30 CEST 2004
Update of /cvsroot/python/python/dist/src/Modules
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2652/Modules
Modified Files:
itertoolsmodule.c
Log Message:
* Increase test coverage.
* Have groupby() be careful about decreffing structure members.
Index: itertoolsmodule.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Modules/itertoolsmodule.c,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -d -r1.35 -r1.36
--- itertoolsmodule.c 1 Sep 2004 07:02:43 -0000 1.35
+++ itertoolsmodule.c 28 Sep 2004 04:45:27 -0000 1.36
@@ -75,7 +75,7 @@
static PyObject *
groupby_next(groupbyobject *gbo)
{
- PyObject *newvalue, *newkey, *r, *grouper;
+ PyObject *newvalue, *newkey, *r, *grouper, *tmp;
/* skip to next iteration group */
for (;;) {
@@ -110,15 +110,19 @@
}
}
- Py_XDECREF(gbo->currkey);
+ tmp = gbo->currkey;
gbo->currkey = newkey;
- Py_XDECREF(gbo->currvalue);
+ Py_XDECREF(tmp);
+
+ tmp = gbo->currvalue;
gbo->currvalue = newvalue;
+ Py_XDECREF(tmp);
}
- Py_XDECREF(gbo->tgtkey);
- gbo->tgtkey = gbo->currkey;
Py_INCREF(gbo->currkey);
+ tmp = gbo->tgtkey;
+ gbo->tgtkey = gbo->currkey;
+ Py_XDECREF(tmp);
grouper = _grouper_create(gbo, gbo->tgtkey);
if (grouper == NULL)
More information about the Python-checkins
mailing list