projects
/
gnulib.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Distribute allocsa.valgrind.
[gnulib.git]
/
lib
/
xstrtol.c
diff --git
a/lib/xstrtol.c
b/lib/xstrtol.c
index
3214939
..
906e4a1
100644
(file)
--- a/
lib/xstrtol.c
+++ b/
lib/xstrtol.c
@@
-1,6
+1,6
@@
/* A more useful interface to strtol.
/* 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
Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
@@
-37,15
+37,10
@@
#include <assert.h>
#include <ctype.h>
#include <assert.h>
#include <ctype.h>
-#include <stdlib.h>
-#include <string.h>
-
#include <errno.h>
#include <errno.h>
-#ifndef errno
-extern int errno;
-#endif
-
#include <limits.h>
#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))
/* 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;
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;
}
return LONGINT_INVALID;
}
@@
-248,7
+244,6
@@
__xstrtol (const char *s, char **ptr, int strtol_base,
default:
*val = tmp;
return err | LONGINT_INVALID_SUFFIX_CHAR;
default:
*val = tmp;
return err | LONGINT_INVALID_SUFFIX_CHAR;
- break;
}
err |= overflow;
}
err |= overflow;