[Python-checkins] python/dist/src/Objects descrobject.c,2.30,2.31
rhettinger@users.sourceforge.net
rhettinger@users.sourceforge.net
Sat, 31 Aug 2002 08:51:07 -0700
Update of /cvsroot/python/python/dist/src/Objects
In directory usw-pr-cvs1:/tmp/cvs-serv22233
Modified Files:
descrobject.c
Log Message:
Added comparison functions to dict proxies.
Now all non-mutating dict methods are in the proxy also.
Inspired by SF bug #602232,
Index: descrobject.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Objects/descrobject.c,v
retrieving revision 2.30
retrieving revision 2.31
diff -C2 -d -r2.30 -r2.31
*** descrobject.c 19 Aug 2002 18:45:37 -0000 2.30
--- descrobject.c 31 Aug 2002 15:51:04 -0000 2.31
***************
*** 719,722 ****
--- 719,734 ----
}
+ static int
+ proxy_compare(proxyobject *v, PyObject *w)
+ {
+ return PyObject_Compare(v->dict, w);
+ }
+
+ static PyObject *
+ proxy_richcompare(proxyobject *v, PyObject *w, int op)
+ {
+ return PyObject_RichCompare(v->dict, w, op);
+ }
+
static PyTypeObject proxytype = {
PyObject_HEAD_INIT(&PyType_Type)
***************
*** 730,734 ****
0, /* tp_getattr */
0, /* tp_setattr */
! 0, /* tp_compare */
0, /* tp_repr */
0, /* tp_as_number */
--- 742,746 ----
0, /* tp_getattr */
0, /* tp_setattr */
! (cmpfunc)proxy_compare, /* tp_compare */
0, /* tp_repr */
0, /* tp_as_number */
***************
*** 745,749 ****
proxy_traverse, /* tp_traverse */
0, /* tp_clear */
! 0, /* tp_richcompare */
0, /* tp_weaklistoffset */
(getiterfunc)proxy_getiter, /* tp_iter */
--- 757,761 ----
proxy_traverse, /* tp_traverse */
0, /* tp_clear */
! (richcmpfunc)proxy_richcompare, /* tp_richcompare */
0, /* tp_weaklistoffset */
(getiterfunc)proxy_getiter, /* tp_iter */