Fix variable/format-char discrepancy in new-style class __getitem__,

__delitem__, __setslice__ and __delslice__ hooks. This caused test_weakref
and test_userlist to fail in the p3yk branch (where UserList, like all
classes, is new-style) on amd64 systems, with open-ended slices: the
sys.maxint value for empty-endpoint was transformed into -1.
This commit is contained in:
Thomas Wouters 2006-04-21 11:26:56 +00:00
parent 64ed043c9a
commit 4e908107b0
1 changed files with 4 additions and 4 deletions

View File

@ -4186,10 +4186,10 @@ slot_sq_ass_item(PyObject *self, Py_ssize_t index, PyObject *value)
if (value == NULL) if (value == NULL)
res = call_method(self, "__delitem__", &delitem_str, res = call_method(self, "__delitem__", &delitem_str,
"(i)", index); "(n)", index);
else else
res = call_method(self, "__setitem__", &setitem_str, res = call_method(self, "__setitem__", &setitem_str,
"(iO)", index, value); "(nO)", index, value);
if (res == NULL) if (res == NULL)
return -1; return -1;
Py_DECREF(res); Py_DECREF(res);
@ -4204,10 +4204,10 @@ slot_sq_ass_slice(PyObject *self, Py_ssize_t i, Py_ssize_t j, PyObject *value)
if (value == NULL) if (value == NULL)
res = call_method(self, "__delslice__", &delslice_str, res = call_method(self, "__delslice__", &delslice_str,
"(ii)", i, j); "(nn)", i, j);
else else
res = call_method(self, "__setslice__", &setslice_str, res = call_method(self, "__setslice__", &setslice_str,
"(iiO)", i, j, value); "(nnO)", i, j, value);
if (res == NULL) if (res == NULL)
return -1; return -1;
Py_DECREF(res); Py_DECREF(res);