[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 */