projects
/
gnulib.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Include config.h.
[gnulib.git]
/
lib
/
xstrtol.h
diff --git
a/lib/xstrtol.h
b/lib/xstrtol.h
index
45043d0
..
fd0c97f
100644
(file)
--- a/
lib/xstrtol.h
+++ b/
lib/xstrtol.h
@@
-13,6
+13,7
@@
# define __ZLONG_MAX LONG_MAX
#endif
# define __ZLONG_MAX LONG_MAX
#endif
+#undef __P
#if defined (__STDC__) && __STDC__
#define __P(x) x
#else
#if defined (__STDC__) && __STDC__
#define __P(x) x
#else
@@
-27,9
+28,9
@@
typedef enum strtol_error strtol_error;
strtol_error
__xstrtol __P ((const char *s, char **ptr, int base,
strtol_error
__xstrtol __P ((const char *s, char **ptr, int base,
- __unsigned long int *val,
int allow_bkm_suffix
));
+ __unsigned long int *val,
const char *valid_suffixes
));
-#define
STRTOL_FATAL_ERROR(str, argument_type_string, err)
\
+#define
_STRTOL_ERROR(exit_code, str, argument_type_string, err)
\
do \
{ \
switch ((err)) \
do \
{ \
switch ((err)) \
@@
-38,20
+39,28
@@
strtol_error
abort (); \
\
case LONGINT_INVALID: \
abort (); \
\
case LONGINT_INVALID: \
- error (2, 0, "invalid %s `%s'", (argument_type_string), (str));\
+ error ((exit_code), 0, "invalid %s `%s'", \
+ (argument_type_string), (str)); \
break; \
\
case LONGINT_INVALID_SUFFIX_CHAR: \
break; \
\
case LONGINT_INVALID_SUFFIX_CHAR: \
- error (
2, 0, "invalid character following %s `%s'",
\
+ error (
(exit_code), 0, "invalid character following %s `%s'",
\
(argument_type_string), (str)); \
break; \
\
case LONGINT_OVERFLOW: \
(argument_type_string), (str)); \
break; \
\
case LONGINT_OVERFLOW: \
- error (2, 0, "%s `%s' larger than maximum long int", \
+ /* FIXME: make this message dependent on STRING_TO_UNSIGNED */\
+ error ((exit_code), 0, "%s `%s' larger than maximum long int",\
(argument_type_string), (str)); \
break; \
} \
} \
while (0)
(argument_type_string), (str)); \
break; \
} \
} \
while (0)
+#define STRTOL_FATAL_ERROR(str, argument_type_string, err) \
+ _STRTOL_ERROR (2, str, argument_type_string, err)
+
+#define STRTOL_FAIL_WARN(str, argument_type_string, err) \
+ _STRTOL_ERROR (0, str, argument_type_string, err)
+
#endif /* _xstrtol_h_ */
#endif /* _xstrtol_h_ */