Fix %zd string formatting on Mac OS X so it prints negative numbers.

In addition to testing positive numbers, verify negative numbers work in configure.
In order to avoid compiler warnings on OS X 10.4, also change the order of the check
for the format character to use (PY_FORMAT_SIZE_T) in the sprintf format
for Py_ssize_t.  This patch changes PY_FORMAT_SIZE_T from "" to "l" if it wasn't
defined at configure time.  Need to verify the buildbot results.

Backport candidate (if everyone thinks this patch can't be improved).
This commit is contained in:
Neal Norwitz 2006-09-22 08:16:26 +00:00
parent d10a0f7766
commit 4a8fbdb1b2
4 changed files with 39 additions and 9 deletions

View file

@ -126,10 +126,10 @@ typedef Py_intptr_t Py_ssize_t;
* Py_ssize_t on the platform.
*/
#ifndef PY_FORMAT_SIZE_T
# if SIZEOF_SIZE_T == SIZEOF_INT
# define PY_FORMAT_SIZE_T ""
# elif SIZEOF_SIZE_T == SIZEOF_LONG
# if SIZEOF_SIZE_T == SIZEOF_LONG
# define PY_FORMAT_SIZE_T "l"
# elif SIZEOF_SIZE_T == SIZEOF_INT
# define PY_FORMAT_SIZE_T ""
# elif defined(MS_WINDOWS)
# define PY_FORMAT_SIZE_T "I"
# else