summaryrefslogtreecommitdiffstats
path: root/Doc/ext/noddy2.c
diff options
context:
space:
mode:
authorJim Fulton <jim@zope.com>2004-07-14 19:07:24 (GMT)
committerJim Fulton <jim@zope.com>2004-07-14 19:07:24 (GMT)
commit7a0e8bc283590c1db93cbb313650a959d8cc1f31 (patch)
treef3b516b1f2f187755d0155858a63f8557bb8d464 /Doc/ext/noddy2.c
parenta643b658a7cd1d820fd561665402705f0f76b1d0 (diff)
downloadcpython-7a0e8bc283590c1db93cbb313650a959d8cc1f31.zip
cpython-7a0e8bc283590c1db93cbb313650a959d8cc1f31.tar.gz
cpython-7a0e8bc283590c1db93cbb313650a959d8cc1f31.tar.bz2
Updated documentation to:
- point out the importance of reassigning data members before assigning thier values - correct my missconception about return values from visitprocs. Sigh. - mention the labor saving Py_VISIT and Py_CLEAR macros.
Diffstat (limited to 'Doc/ext/noddy2.c')
-rw-r--r--Doc/ext/noddy2.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/Doc/ext/noddy2.c b/Doc/ext/noddy2.c
index 03fe288..2683e8b 100644
--- a/Doc/ext/noddy2.c
+++ b/Doc/ext/noddy2.c
@@ -46,7 +46,7 @@ Noddy_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
static int
Noddy_init(Noddy *self, PyObject *args, PyObject *kwds)
{
- PyObject *first=NULL, *last=NULL;
+ PyObject *first=NULL, *last=NULL, *tmp;
static char *kwlist[] = {"first", "last", "number", NULL};
@@ -56,15 +56,17 @@ Noddy_init(Noddy *self, PyObject *args, PyObject *kwds)
return -1;
if (first) {
- Py_XDECREF(self->first);
+ tmp = self->first;
Py_INCREF(first);
self->first = first;
+ Py_XDECREF(tmp);
}
if (last) {
- Py_XDECREF(self->last);
+ tmp = self->last;
Py_INCREF(last);
self->last = last;
+ Py_XDECREF(tmp);
}
return 0;