From: Markus Armbruster Date: Tue, 22 Nov 2011 08:46:01 +0000 (+0100) Subject: cutils: Drop broken support for zero strtosz default_suffix X-Git-Tag: qemu-xen-4.3.0-rc1~1954 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=8dddfb553151724a6a2110e56e8ced3213faf750;p=qemu-upstream-4.3-testing.git 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 Signed-off-by: Anthony Liguori --- diff --git a/cutils.c b/cutils.c index 5d995bc4e..55b059645 100644 --- a/cutils.c +++ b/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;