This bug had a serious impact on chown: `chown N:M FILE' (for integer
[gnulib.git] / lib / strtoumax.c
index 26d28ff..a147604 100644 (file)
 # endif
 #endif
 
-#if HAVE_UNSIGNED_LONG_LONG && ! HAVE_STRTOULL
-  unsigned long long strtoull PARAMS ((char const *, char **, int));
+#ifndef HAVE_DECL_STRTOUL
+"this configure-time declaration test was not run"
+#endif
+#if !HAVE_DECL_STRTOUL
+unsigned long strtoul PARAMS ((char const *, char **, int));
+#endif
+
+#ifndef HAVE_DECL_STRTOULL
+"this configure-time declaration test was not run"
+#endif
+#if !HAVE_DECL_STRTOULL && HAVE_UNSIGNED_LONG_LONG
+unsigned long long strtoull PARAMS ((char const *, char **, int));
 #endif
 
 uintmax_t
@@ -56,3 +66,16 @@ strtoumax (char const *ptr, char **endptr, int base)
 
   abort ();
 }
+
+#ifdef TESTING
+# include <stdio.h>
+int
+main ()
+{
+  char *p, *endptr;
+  printf ("sizeof uintmax_t: %d\n", sizeof (uintmax_t));
+  printf ("sizeof strtoull(): %d\n", sizeof strtoull(p, &endptr, 10));
+  printf ("sizeof strtoul(): %d\n", sizeof strtoul(p, &endptr, 10));
+  exit (0);
+}
+#endif