summaryrefslogtreecommitdiff
path: root/src/basic/parse-util.h
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2016-04-02 17:46:49 -0400
committerSven Eden <yamakuzure@gmx.net>2017-06-16 10:12:57 +0200
commit06ed8a3ec94d6770a62534a820cec441f90905f0 (patch)
tree4f9689324008b588ef6e9e990ef0d7d8bfbb17d1 /src/basic/parse-util.h
parent368c3719b6eaa0767bbdee84c1f2d2876b83995b (diff)
test-compress-benchmark: fix argument parsing on 32bit
The patch is not minimal, but a function to parse size_t is probably going to come in handy in other places, so I think it's nicer to define a proper parsing function than to open-code the cast.
Diffstat (limited to 'src/basic/parse-util.h')
-rw-r--r--src/basic/parse-util.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/basic/parse-util.h b/src/basic/parse-util.h
index 49184ecc3..9b1aebdb5 100644
--- a/src/basic/parse-util.h
+++ b/src/basic/parse-util.h
@@ -93,6 +93,18 @@ static inline int safe_atoli(const char *s, long int *ret_u) {
}
#endif
+#if SIZE_MAX == UINT_MAX
+static inline int safe_atozu(const char *s, size_t *ret_u) {
+ assert_cc(sizeof(size_t) == sizeof(unsigned));
+ return safe_atou(s, ret_u);
+}
+#else
+static inline int safe_atozu(const char *s, size_t *ret_u) {
+ assert_cc(sizeof(size_t) == sizeof(long unsigned));
+ return safe_atolu(s, ret_u);
+}
+#endif
+
int safe_atod(const char *s, double *ret_d);
int parse_fractional_part_u(const char **s, size_t digits, unsigned *res);