[Python-checkins] r55174 - in python/branches/release25-maint: Modules/itertoolsmodule.c Objects/longobject.c

kristjan.jonsson python-checkins at python.org
Mon May 7 20:30:54 CEST 2007


Author: kristjan.jonsson
Date: Mon May 7 20:30:48 2007
New Revision: 55174
Modified:
 python/branches/release25-maint/Modules/itertoolsmodule.c
 python/branches/release25-maint/Objects/longobject.c
Log:
Fix two problems that emerged when the testsuite was run with an x64 build: PyLong_FromSSize_t incorrectly assumed an unsigned object, and itertools.count() had the wrong upper limit for the iterator.
Modified: python/branches/release25-maint/Modules/itertoolsmodule.c
==============================================================================
--- python/branches/release25-maint/Modules/itertoolsmodule.c	(original)
+++ python/branches/release25-maint/Modules/itertoolsmodule.c	Mon May 7 20:30:48 2007
@@ -2073,9 +2073,9 @@
 static PyObject *
 count_next(countobject *lz)
 {
- if (lz->cnt == LONG_MAX) {
+ if (lz->cnt == PY_SSIZE_T_MAX) {
 PyErr_SetString(PyExc_OverflowError,
- "cannot count beyond LONG_MAX"); 
+ "cannot count beyond PY_SSIZE_T_MAX"); 
 return NULL; 
 }
 	return PyInt_FromSsize_t(lz->cnt++);
Modified: python/branches/release25-maint/Objects/longobject.c
==============================================================================
--- python/branches/release25-maint/Objects/longobject.c	(original)
+++ python/branches/release25-maint/Objects/longobject.c	Mon May 7 20:30:48 2007
@@ -893,7 +893,7 @@
 	int one = 1;
 	return _PyLong_FromByteArray(
 			(unsigned char *)&bytes,
-			SIZEOF_SIZE_T, IS_LITTLE_ENDIAN, 0);
+			SIZEOF_SIZE_T, IS_LITTLE_ENDIAN, 1);
 }
 
 /* Create a new long int object from a C size_t. */


More information about the Python-checkins mailing list

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