mirror of
https://github.com/systemd/systemd.git
synced 2025-01-11 09:18:07 +03:00
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:
parent
1a112b5273
commit
7c2da2ca88
@ -71,7 +71,7 @@ static ssize_t try_copy_file_range(int fd_in, loff_t *off_in,
|
||||
int copy_bytes(int fdf, int fdt, uint64_t max_bytes, bool try_reflink) {
|
||||
bool try_cfr = true, try_sendfile = true, try_splice = true;
|
||||
int r;
|
||||
size_t m = SSIZE_MAX; /* that the maximum that sendfile and c_f_r accept */
|
||||
size_t m = SSIZE_MAX; /* that is the maximum that sendfile and c_f_r accept */
|
||||
|
||||
assert(fdf >= 0);
|
||||
assert(fdt >= 0);
|
||||
|
@ -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);
|
||||
|
@ -164,7 +164,7 @@ int main(int argc, char *argv[]) {
|
||||
arg_duration = x * USEC_PER_SEC;
|
||||
}
|
||||
if (argc == 3)
|
||||
(void) safe_atolu(argv[2], &arg_start);
|
||||
(void) safe_atozu(argv[2], &arg_start);
|
||||
else
|
||||
arg_start = getpid();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user