[Python-checkins] CVS: python/dist/src/Objects descrobject.c,1.1.2.10,1.1.2.11
Guido van Rossum
gvanrossum@users.sourceforge.net
2001年6月29日 07:31:13 -0700
Update of /cvsroot/python/python/dist/src/Objects
In directory usw-pr-cvs1:/tmp/cvs-serv11012
Modified Files:
Tag: descr-branch
descrobject.c
Log Message:
descr_name(): return "?" for unnamed descriptors instead of NULL, so
it is safe to use this in "%s" formats.
descr_call(): always report the name of the descriptor in error
messages.
descr_get_name(): test for "?" returned from descr_name() instead of
NULL.
Index: descrobject.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Objects/Attic/descrobject.c,v
retrieving revision 1.1.2.10
retrieving revision 1.1.2.11
diff -C2 -r1.1.2.10 -r1.1.2.11
*** descrobject.c 2001年06月29日 14:19:30 1.1.2.10
--- descrobject.c 2001年06月29日 14:31:11 1.1.2.11
***************
*** 48,52 ****
return descr->d_union.d_wrapper.base->name;
default:
! return NULL;
}
}
--- 48,52 ----
return descr->d_union.d_wrapper.base->name;
default:
! return "?";
}
}
***************
*** 203,220 ****
argc = PyTuple_GET_SIZE(args);
if (argc < 1) {
! PyErr_SetString(PyExc_TypeError,
! "descriptor call needs a self argument");
return NULL;
}
self = PyTuple_GET_ITEM(args, 0);
if (!PyObject_IsInstance(self, (PyObject *)(descr->d_type))) {
- char *name = descr_name(descr);
- if (name == NULL)
- name = "?";
PyErr_Format(PyExc_TypeError,
"descriptor '%.100s' "
! "requires a '%.100s', "
! "received a '%.100s'",
! name,
descr->d_type->tp_name,
self->ob_type->tp_name);
--- 203,218 ----
argc = PyTuple_GET_SIZE(args);
if (argc < 1) {
! PyErr_Format(PyExc_TypeError,
! "descriptor '%.100s' needs an argument",
! descr_name(descr));
return NULL;
}
self = PyTuple_GET_ITEM(args, 0);
if (!PyObject_IsInstance(self, (PyObject *)(descr->d_type))) {
PyErr_Format(PyExc_TypeError,
"descriptor '%.100s' "
! "requires '%.100s', "
! "received '%.100s'",
! descr_name(descr),
descr->d_type->tp_name,
self->ob_type->tp_name);
***************
*** 245,251 ****
assert(PyDict_Check(kwds));
if (PyDict_Size(kwds) > 0) {
! PyErr_SetString(PyExc_TypeError,
! "this descriptor object can't called "
! "called with keyword arguments");
return NULL;
}
--- 243,250 ----
assert(PyDict_Check(kwds));
if (PyDict_Size(kwds) > 0) {
! PyErr_Format(PyExc_TypeError,
! "descriptor '%.100s' can't called "
! "called with keyword arguments",
! descr_name(descr));
return NULL;
}
***************
*** 261,266 ****
return Py_None;
}
! PyErr_SetString(PyExc_TypeError,
! "too many arguments to descriptor call");
return NULL;
}
--- 260,266 ----
return Py_None;
}
! PyErr_Format(PyExc_TypeError,
! "too many arguments to call descriptor '%.100s'",
! descr_name(descr));
return NULL;
}
***************
*** 303,307 ****
char *s = descr_name(descr);
! if (s != NULL)
return PyString_FromString(s);
PyErr_SetString(PyExc_AttributeError, "unnamed descriptor");
--- 303,307 ----
char *s = descr_name(descr);
! if (*s != '?')
return PyString_FromString(s);
PyErr_SetString(PyExc_AttributeError, "unnamed descriptor");