cutils: Drop broken support for zero strtosz default_suffix
Commit 9f9b17a4's strtosz() defaults a missing suffix to 'M', except it rejects fractions then (switch case 0). When commitd8427002
introduced strtosz_suffix(), that changed: fractions are no longer rejected, because we go to switch case 'M' on missing suffix now. Not mentioned in commit message, probably unintentional. Not worth changing back now. Because case 0 is still around, you can get the old behavior by passing a zero default_suffix to strtosz_suffix() or strtosz_suffix_unit(). Undocumented and not used. Drop. Commitd8427002
also neglected to update the function comment. Fix it up. Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
21d4a791da
commit
8dddfb5531
17
cutils.c
17
cutils.c
@ -317,10 +317,9 @@ int fcntl_setfl(int fd, int flag)
|
||||
|
||||
/*
|
||||
* Convert string to bytes, allowing either B/b for bytes, K/k for KB,
|
||||
* M/m for MB, G/g for GB or T/t for TB. Default without any postfix
|
||||
* is MB. End pointer will be returned in *end, if not NULL. A valid
|
||||
* value must be terminated by whitespace, ',' or '\0'. Return -1 on
|
||||
* error.
|
||||
* M/m for MB, G/g for GB or T/t for TB. End pointer will be returned
|
||||
* in *end, if not NULL. A valid value must be terminated by
|
||||
* whitespace, ',' or '\0'. Return -1 on error.
|
||||
*/
|
||||
int64_t strtosz_suffix_unit(const char *nptr, char **end,
|
||||
const char default_suffix, int64_t unit)
|
||||
@ -349,11 +348,7 @@ int64_t strtosz_suffix_unit(const char *nptr, char **end,
|
||||
d = c;
|
||||
if (qemu_isspace(c) || c == '\0' || c == ',') {
|
||||
c = 0;
|
||||
if (default_suffix) {
|
||||
d = default_suffix;
|
||||
} else {
|
||||
d = c;
|
||||
}
|
||||
d = default_suffix;
|
||||
}
|
||||
switch (qemu_toupper(d)) {
|
||||
case STRTOSZ_DEFSUFFIX_B:
|
||||
@ -365,10 +360,6 @@ int64_t strtosz_suffix_unit(const char *nptr, char **end,
|
||||
case STRTOSZ_DEFSUFFIX_KB:
|
||||
mul = unit;
|
||||
break;
|
||||
case 0:
|
||||
if (mul_required) {
|
||||
goto fail;
|
||||
}
|
||||
case STRTOSZ_DEFSUFFIX_MB:
|
||||
mul = unit * unit;
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user