[Python-checkins] cpython: Fixed the array module broken in issue #23492.

serhiy.storchaka python-checkins at python.org
Sat Apr 4 16:07:56 CEST 2015


https://hg.python.org/cpython/rev/973c9ec53bbb
changeset:   95441:973c9ec53bbb
user:        Serhiy Storchaka <storchaka at gmail.com>
date:        Sat Apr 04 17:06:55 2015 +0300
summary:
  Fixed the array module broken in issue #23492.
array_array_frombytes() is used in other functions, but it's signature was
changed. Closes issue #23866.

files:
  Modules/arraymodule.c |  19 ++++---------------
  1 files changed, 4 insertions(+), 15 deletions(-)


diff --git a/Modules/arraymodule.c b/Modules/arraymodule.c
--- a/Modules/arraymodule.c
+++ b/Modules/arraymodule.c
@@ -1403,7 +1403,7 @@
 array_array_fromfile_impl(arrayobject *self, PyObject *f, Py_ssize_t n)
 /*[clinic end generated code: output=ec9f600e10f53510 input=e188afe8e58adf40]*/
 {
-    PyObject *args, *b, *res;
+    PyObject *b, *res;
     Py_ssize_t itemsize = self->ob_descr->itemsize;
     Py_ssize_t nbytes;
     _Py_IDENTIFIER(read);
@@ -1432,13 +1432,8 @@
 
     not_enough_bytes = (PyBytes_GET_SIZE(b) != nbytes);
 
-    args = Py_BuildValue("(O)", b);
+    res = array_array_frombytes(self, b);
     Py_DECREF(b);
-    if (args == NULL)
-        return NULL;
-
-    res = array_array_frombytes(self, args);
-    Py_DECREF(args);
     if (res == NULL)
         return NULL;
 
@@ -2672,15 +2667,9 @@
             }
             else if (initial != NULL && (PyByteArray_Check(initial) ||
                                PyBytes_Check(initial))) {
-                PyObject *t_initial, *v;
-                t_initial = PyTuple_Pack(1, initial);
-                if (t_initial == NULL) {
-                    Py_DECREF(a);
-                    return NULL;
-                }
+                PyObject *v;
                 v = array_array_frombytes((arrayobject *)a,
-                                          t_initial);
-                Py_DECREF(t_initial);
+                                          initial);
                 if (v == NULL) {
                     Py_DECREF(a);
                     return NULL;

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list