diff options
author | Markus Armbruster <armbru@redhat.com> | 2011-11-22 09:46:01 +0100 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2011-11-28 16:20:52 -0600 |
commit | 8dddfb553151724a6a2110e56e8ced3213faf750 (patch) | |
tree | 15fba3cf55fcd2dc61d3de1cd30aadd30b97fae9 | |
parent | 21d4a791da47cf35956102d0b96208e3e595b617 (diff) |
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 commit d8427002 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.
Commit d8427002 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>
-rw-r--r-- | cutils.c | 17 |
1 files changed, 4 insertions, 13 deletions
@@ -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; |