[Python-checkins] python/dist/src/Modules arraymodule.c,2.87,2.88
rhettinger@users.sourceforge.net
rhettinger@users.sourceforge.net
2003年4月24日 03:41:59 -0700
Update of /cvsroot/python/python/dist/src/Modules
In directory sc8-pr-cvs1:/tmp/cvs-serv7977
Modified Files:
arraymodule.c
Log Message:
SF 686323: Minor array module enhancements
Allows use of tuples for the initializer.
Index: arraymodule.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Modules/arraymodule.c,v
retrieving revision 2.87
retrieving revision 2.88
diff -C2 -d -r2.87 -r2.88
*** arraymodule.c 23 Apr 2003 17:27:00 -0000 2.87
--- arraymodule.c 24 Apr 2003 10:41:55 -0000 2.88
***************
*** 1733,1737 ****
if (!(initial == NULL || PyList_Check(initial)
! || PyString_Check(initial)
|| (c == 'u' && PyUnicode_Check(initial)))) {
PyErr_SetString(PyExc_TypeError,
--- 1733,1737 ----
if (!(initial == NULL || PyList_Check(initial)
! || PyString_Check(initial) || PyTuple_Check(initial)
|| (c == 'u' && PyUnicode_Check(initial)))) {
PyErr_SetString(PyExc_TypeError,
***************
*** 1743,1750 ****
PyObject *a;
int len;
! if (initial == NULL || !PyList_Check(initial))
len = 0;
else
! len = PyList_Size(initial);
a = newarrayobject(type, len, descr);
--- 1743,1752 ----
PyObject *a;
int len;
!
! if (initial == NULL || !(PyList_Check(initial)
! || PyTuple_Check(initial)))
len = 0;
else
! len = PySequence_Size(initial);
a = newarrayobject(type, len, descr);
***************
*** 1756,1760 ****
for (i = 0; i < len; i++) {
PyObject *v =
! PyList_GetItem(initial, i);
if (setarrayitem(a, i, v) != 0) {
Py_DECREF(a);
--- 1758,1762 ----
for (i = 0; i < len; i++) {
PyObject *v =
! PySequence_GetItem(initial, i);
if (setarrayitem(a, i, v) != 0) {
Py_DECREF(a);