Before:
$ misc/badblocks -w -b
4294967296 -c 1 /tmp/testfile.bin
misc/badblocks: invalid block size -
4294967296
After:
$ misc/badblocks -w -b
4294967296 -c 1 /tmp/testfile.bin
misc/badblocks: block size too large -
4294967296
The original error is retained for invalid arguments, e.g.:
$ misc/badblocks -w -b foo -c 1 /tmp/testfile.bin
misc/badblocks: invalid block size - foo
Signed-off-by: Corey Hickey <bugfood-c@fatooh.org>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
errno = 0;
ret = strtoul(str, &tmp, 0);
- if (*tmp || errno || (ret > UINT_MAX) ||
- (ret == ULONG_MAX && errno == ERANGE)) {
+ if (*tmp || errno) {
com_err (program_name, 0, _("invalid %s - %s"), descr, str);
exit (1);
+ } else if ((ret > UINT_MAX) ||
+ (ret == ULONG_MAX && errno == ERANGE)) {
+ com_err (program_name, 0, _("%s too large - %lu"), descr, ret);
+ exit (1);
}
return ret;
}