[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);

AltStyle によって変換されたページ (->オリジナル) /