hexdump: don't unconditionally limit the usable address range

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2013-03-27 15:15:33 +01:00
parent 80a38ca11c
commit ef6747e290
2 changed files with 7 additions and 2 deletions

View File

@ -333,7 +333,7 @@ static void do_skip(priv_dumper_t *dumper, const char *fname, int statok)
return;
}
}
if (fseek(stdin, dumper->pub.dump_skip, SEEK_SET)) {
if (fseeko(stdin, dumper->pub.dump_skip, SEEK_SET)) {
bb_simple_perror_msg_and_die(fname);
}
dumper->address += dumper->pub.dump_skip;

View File

@ -116,7 +116,12 @@ int hexdump_main(int argc, char **argv)
dumper->dump_length = xatoi_positive(optarg);
} /* else */
if (ch == 's') { /* compat: -s accepts hex numbers too */
dumper->dump_skip = xstrtoul_range_sfx(optarg, /*base:*/ 0, /*lo:*/ 0, /*hi:*/ LONG_MAX, suffixes);
dumper->dump_skip = xstrtoul_range_sfx(
optarg,
/*base:*/ 0,
/*lo:*/ 0, /*hi:*/ OFF_T_MAX,
suffixes
);
} /* else */
if (ch == 'v') {
dumper->dump_vflag = ALL;