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.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek
2016-04-02 18:58:21 -04:00
parent 1a112b5273
commit 7c2da2ca88
3 changed files with 14 additions and 2 deletions
+12
View File
@@ -90,6 +90,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);