]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
(errno): Remove decl; we now assume C89 or better.
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 2 Aug 2004 22:56:56 +0000 (22:56 +0000)
committerPaul Eggert <eggert@cs.ucla.edu>
Mon, 2 Aug 2004 22:56:56 +0000 (22:56 +0000)
(__xstrtol): Rewrite to avoid casts.

lib/xstrtol.c

index d0aa0a9686883a4179675cef086e3bc09f585d3a..906e4a1cc1e936ae56211365ce892050c8d1f62d 100644 (file)
@@ -1,6 +1,6 @@
 /* A more useful interface to strtol.
 
-   Copyright (C) 1995, 1996, 1998, 1999, 2000, 2001, 2003 Free
+   Copyright (C) 1995, 1996, 1998, 1999, 2000, 2001, 2003, 2004 Free
    Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
 
 #include <assert.h>
 #include <ctype.h>
-#include <stdlib.h>
-#include <string.h>
-
 #include <errno.h>
-#ifndef errno
-extern int errno;
-#endif
-
 #include <limits.h>
+#include <stdlib.h>
+#include <string.h>
 
 /* The extra casts work around common compiler bugs.  */
 #define TYPE_SIGNED(t) (! ((t) 0 < (t) -1))
@@ -121,9 +116,10 @@ __xstrtol (const char *s, char **ptr, int strtol_base,
   if (! TYPE_SIGNED (__strtol_t))
     {
       const char *q = s;
-      while (ISSPACE ((unsigned char) *q))
-       ++q;
-      if (*q == '-')
+      unsigned char ch = *q;
+      while (ISSPACE (ch))
+       ch = *++q;
+      if (ch == '-')
        return LONGINT_INVALID;
     }