Support special value "max" where xz and xzdec accept an integer.
Don't round the memory usage limit in xzdec --help to avoid an integer overflow and to not give wrong impression that the limit is high enough when it may not actually be.
This commit is contained in:
parent
03ca67fd37
commit
071b825b23
|
@ -45,6 +45,10 @@ str_to_uint64(const char *name, const char *value, uint64_t min, uint64_t max)
|
|||
while (*value == ' ' || *value == '\t')
|
||||
++value;
|
||||
|
||||
// Accept special value "max". Supporting "min" doesn't seem useful.
|
||||
if (strcmp(value, "max") == 0)
|
||||
return max;
|
||||
|
||||
if (*value < '0' || *value > '9')
|
||||
message_fatal(_("%s: Value is not a non-negative "
|
||||
"decimal integer"), value);
|
||||
|
|
|
@ -86,7 +86,7 @@ help(void)
|
|||
" MiB of memory at maximum.\n"
|
||||
"\n"
|
||||
"Report bugs to <" PACKAGE_BUGREPORT "> (in English or Finnish).\n",
|
||||
argv0, (memlimit + 512 * 1024) / (1024 * 1024));
|
||||
argv0, memlimit / (1024 * 1024));
|
||||
my_exit();
|
||||
}
|
||||
|
||||
|
@ -128,6 +128,10 @@ str_to_uint64(const char *value)
|
|||
{
|
||||
uint64_t result = 0;
|
||||
|
||||
// Accept special value "max".
|
||||
if (strcmp(value, "max") == 0)
|
||||
return UINT64_MAX;
|
||||
|
||||
if (*value < '0' || *value > '9') {
|
||||
fprintf(stderr, "%s: %s: Not a number\n", argv0, value);
|
||||
exit(EXIT_FAILURE);
|
||||
|
|
Loading…
Reference in New Issue