[Python-checkins] CVS: python/dist/src/Modules _weakref.c,1.11,1.12
Fred L. Drake
fdrake@users.sourceforge.net
2001年8月16日 07:11:32 -0700
Update of /cvsroot/python/python/dist/src/Modules
In directory usw-pr-cvs1:/tmp/cvs-serv5764
Modified Files:
_weakref.c
Log Message:
Use METH_O where possible (two functions). This does not lead to real
performance changes since the affected functions are not expected to be
used frequently, but reduces the volume of code.
Index: _weakref.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Modules/_weakref.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** _weakref.c 2001年05月03日 16:05:46 1.11
--- _weakref.c 2001年08月16日 14:11:30 1.12
***************
*** 505,522 ****
static PyObject *
! weakref_getweakrefcount(PyObject *self, PyObject *args)
{
PyObject *result = NULL;
- PyObject *object;
! if (PyArg_ParseTuple(args, "O:getweakrefcount", &object)) {
! if (PyType_SUPPORTS_WEAKREFS(object->ob_type)) {
! PyWeakReference **list = GET_WEAKREFS_LISTPTR(object);
! result = PyInt_FromLong(getweakrefcount(*list));
! }
! else
! result = PyInt_FromLong(0);
}
return result;
}
--- 505,520 ----
static PyObject *
! weakref_getweakrefcount(PyObject *self, PyObject *object)
{
PyObject *result = NULL;
! if (PyType_SUPPORTS_WEAKREFS(object->ob_type)) {
! PyWeakReference **list = GET_WEAKREFS_LISTPTR(object);
! result = PyInt_FromLong(getweakrefcount(*list));
}
+ else
+ result = PyInt_FromLong(0);
+
return result;
}
***************
*** 528,556 ****
static PyObject *
! weakref_getweakrefs(PyObject *self, PyObject *args)
{
PyObject *result = NULL;
- PyObject *object;
! if (PyArg_ParseTuple(args, "O:getweakrefs", &object)) {
! if (PyType_SUPPORTS_WEAKREFS(object->ob_type)) {
! PyWeakReference **list = GET_WEAKREFS_LISTPTR(object);
! long count = getweakrefcount(*list);
! result = PyList_New(count);
! if (result != NULL) {
! PyWeakReference *current = *list;
! long i;
! for (i = 0; i < count; ++i) {
! PyList_SET_ITEM(result, i, (PyObject *) current);
! Py_INCREF(current);
! current = current->wr_next;
! }
}
}
- else {
- result = PyList_New(0);
- }
}
return result;
}
--- 526,551 ----
static PyObject *
! weakref_getweakrefs(PyObject *self, PyObject *object)
{
PyObject *result = NULL;
! if (PyType_SUPPORTS_WEAKREFS(object->ob_type)) {
! PyWeakReference **list = GET_WEAKREFS_LISTPTR(object);
! long count = getweakrefcount(*list);
! result = PyList_New(count);
! if (result != NULL) {
! PyWeakReference *current = *list;
! long i;
! for (i = 0; i < count; ++i) {
! PyList_SET_ITEM(result, i, (PyObject *) current);
! Py_INCREF(current);
! current = current->wr_next;
}
}
}
+ else {
+ result = PyList_New(0);
+ }
return result;
}
***************
*** 797,803 ****
static PyMethodDef
weakref_functions[] = {
! {"getweakrefcount", weakref_getweakrefcount, METH_VARARGS,
weakref_getweakrefcount__doc__},
! {"getweakrefs", weakref_getweakrefs, METH_VARARGS,
weakref_getweakrefs__doc__},
{"proxy", weakref_proxy, METH_VARARGS,
--- 792,798 ----
static PyMethodDef
weakref_functions[] = {
! {"getweakrefcount", weakref_getweakrefcount, METH_O,
weakref_getweakrefcount__doc__},
! {"getweakrefs", weakref_getweakrefs, METH_O,
weakref_getweakrefs__doc__},
{"proxy", weakref_proxy, METH_VARARGS,