[Python-checkins] CVS: python/dist/src/Objects typeobject.c,2.19,2.20
Guido van Rossum
gvanrossum@users.sourceforge.net
Thu, 02 Aug 2001 08:32:00 -0700
Update of /cvsroot/python/python/dist/src/Objects
In directory usw-pr-cvs1:/tmp/cvs-serv3131
Modified Files:
typeobject.c
Log Message:
Fix SF #442791 (revisited): No __delitem__ wrapper was defined.
Index: typeobject.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Objects/typeobject.c,v
retrieving revision 2.19
retrieving revision 2.20
diff -C2 -d -r2.19 -r2.20
*** typeobject.c 2001/08/02 04:15:00 2.19
--- typeobject.c 2001/08/02 15:31:58 2.20
***************
*** 1505,1511 ****
--- 1505,1528 ----
}
+ static PyObject *
+ wrap_delitem_int(PyObject *self, PyObject *args, void *wrapped)
+ {
+ intobjargproc func = (intobjargproc)wrapped;
+ int i, res;
+
+ if (!PyArg_ParseTuple(args, "i", &i))
+ return NULL;
+ res = (*func)(self, i, NULL);
+ if (res == -1 && PyErr_Occurred())
+ return NULL;
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+
static struct wrapperbase tab_setitem_int[] = {
{"__setitem__", (wrapperfunc)wrap_intobjargproc,
"x.__setitem__(i, y) <==> x[i]=y"},
+ {"__delitem__", (wrapperfunc)wrap_delitem_int,
+ "x.__delitem__(y) <==> del x[y]"},
{0}
};
***************
*** 1571,1577 ****
--- 1588,1612 ----
}
+ static PyObject *
+ wrap_delitem(PyObject *self, PyObject *args, void *wrapped)
+ {
+ objobjargproc func = (objobjargproc)wrapped;
+ int res;
+ PyObject *key;
+
+ if (!PyArg_ParseTuple(args, "O", &key))
+ return NULL;
+ res = (*func)(self, key, NULL);
+ if (res == -1 && PyErr_Occurred())
+ return NULL;
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+
static struct wrapperbase tab_setitem[] = {
{"__setitem__", (wrapperfunc)wrap_objobjargproc,
"x.__setitem__(y, z) <==> x[y]=z"},
+ {"__delitem__", (wrapperfunc)wrap_delitem,
+ "x.__delitem__(y) <==> del x[y]"},
{0}
};