tree-wide: never use the off_t unless glibc makes us use it
off_t is a really weird type as it is usually 64bit these days (at least in sane programs), but could theoretically be 32bit. We don't support off_t as 32bit builds though, but still constantly deal with safely converting from off_t to other types and back for no point. Hence, never use the type anymore. Always use uint64_t instead. This has various benefits, including that we can expose these values directly as D-Bus properties, and also that the values parse the same in all cases.
This commit is contained in:
@@ -1823,20 +1823,20 @@ static int parse_argv(int argc, char *argv[]) {
|
||||
break;
|
||||
|
||||
case ARG_SIZE: {
|
||||
off_t o;
|
||||
uint64_t sz;
|
||||
|
||||
r = parse_size(optarg, 1024, &o);
|
||||
r = parse_size(optarg, 1024, &sz);
|
||||
if (r < 0) {
|
||||
log_error("Failed to parse size: %s", optarg);
|
||||
return r;
|
||||
}
|
||||
|
||||
if ((off_t) (size_t) o != o) {
|
||||
if ((uint64_t) (size_t) sz != sz) {
|
||||
log_error("Size out of range.");
|
||||
return -E2BIG;
|
||||
}
|
||||
|
||||
arg_snaplen = (size_t) o;
|
||||
arg_snaplen = (size_t) sz;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user