From 8dddfb553151724a6a2110e56e8ced3213faf750 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Tue, 22 Nov 2011 09:46:01 +0100 Subject: [PATCH] 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 --- cutils.c | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/cutils.c b/cutils.c index 5d995bc4e5..55b059645b 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; -- GitLab