summaryrefslogtreecommitdiffstats
path: root/configure.in
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2006-09-25 06:58:00 (GMT)
committerGeorg Brandl <georg@python.org>2006-09-25 06:58:00 (GMT)
commit934c90de0de8a0fd5f07b483b18d98beb857dbd9 (patch)
tree29264686d9cda5c7c1d945b2d3bc5c97ff843786 /configure.in
parentb14b59fcf9325bc803763c4aad036cb12f9d7978 (diff)
downloadcpython-934c90de0de8a0fd5f07b483b18d98beb857dbd9.zip
cpython-934c90de0de8a0fd5f07b483b18d98beb857dbd9.tar.gz
cpython-934c90de0de8a0fd5f07b483b18d98beb857dbd9.tar.bz2
Backport rev. 51971:
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.
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in20
1 files changed, 17 insertions, 3 deletions
diff --git a/configure.in b/configure.in
index 410f1af..711e19e 100644
--- a/configure.in
+++ b/configure.in
@@ -3352,14 +3352,28 @@ AC_TRY_RUN([#include <stdio.h>
int main()
{
- char buffer[4];
+ char buffer[256];
+
+#ifdef HAVE_SSIZE_T
+typedef ssize_t Py_ssize_t;
+#elif SIZEOF_VOID_P == SIZEOF_LONG
+typedef long Py_ssize_t;
+#else
+typedef int Py_ssize_t;
+#endif
if(sprintf(buffer, "%zd", (size_t)123) < 0)
return 1;
- if (strncmp(buffer, "123", 3))
+ if (strcmp(buffer, "123"))
return 1;
-
+
+ if (sprintf(buffer, "%zd", (Py_ssize_t)-123) < 0)
+ return 1;
+
+ if (strcmp(buffer, "-123"))
+ return 1;
+
return 0;
}],
[AC_MSG_RESULT(yes)