From 3e75846cf60218db698c9046ac3ae2632403f141 Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Wed, 16 Jul 2008 23:10:05 +0000 Subject: Use _getbytevalue() in init too. --- Objects/bytearrayobject.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/Objects/bytearrayobject.c b/Objects/bytearrayobject.c index b1f6962..31b5804 100644 --- a/Objects/bytearrayobject.c +++ b/Objects/bytearrayobject.c @@ -860,7 +860,7 @@ bytes_init(PyByteArrayObject *self, PyObject *args, PyObject *kwds) /* Run the iterator to exhaustion */ for (;;) { PyObject *item; - Py_ssize_t value; + int rc, value; /* Get the next item */ item = iternext(it); @@ -874,18 +874,11 @@ bytes_init(PyByteArrayObject *self, PyObject *args, PyObject *kwds) } /* Interpret it as an int (__index__) */ - value = PyNumber_AsSsize_t(item, PyExc_ValueError); + rc = _getbytevalue(item, &value); Py_DECREF(item); - if (value == -1 && PyErr_Occurred()) + if (!rc) goto error; - /* Range check */ - if (value < 0 || value >= 256) { - PyErr_SetString(PyExc_ValueError, - "bytes must be in range(0, 256)"); - goto error; - } - /* Append the byte */ if (Py_SIZE(self) < self->ob_alloc) Py_SIZE(self)++; -- cgit v0.12