summaryrefslogtreecommitdiff
path: root/lib/xstrtol.h
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>1995-01-27 05:22:23 +0000
committerJim Meyering <jim@meyering.net>1995-01-27 05:22:23 +0000
commitb554fee4014e41b73937931d95d6174de4cc5c01 (patch)
tree515d4af89e4d0c7bbdd66af4669c68c335cfe939 /lib/xstrtol.h
parent293530a4c8bceea8fc6c96fef3b4356538cf82a2 (diff)
downloadcoreutils-b554fee4014e41b73937931d95d6174de4cc5c01.tar.xz
.
Diffstat (limited to 'lib/xstrtol.h')
-rw-r--r--lib/xstrtol.h17
1 files changed, 12 insertions, 5 deletions
diff --git a/lib/xstrtol.h b/lib/xstrtol.h
index 45043d01d..ff44d6bec 100644
--- a/lib/xstrtol.h
+++ b/lib/xstrtol.h
@@ -27,9 +27,9 @@ typedef enum strtol_error strtol_error;
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)) \
@@ -38,20 +38,27 @@ strtol_error
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: \
- 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: \
- error (2, 0, "%s `%s' larger than maximum long int", \
+ error ((exit_code), 0, "%s `%s' larger than maximum long int",\
(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_ */