Message ID | 1487067971-10443-16-git-send-email-armbru@redhat.com |
---|---|
State | New |
Headers | show |
On 14/02/2017 11:26, Markus Armbruster wrote: > With qemu_strtosz(), no suffix means mebibytes. It's used rarely. > I'm going to add a similar function where no suffix means bytes. > Rename qemu_strtosz() to qemu_strtosz_mebi() to make the name > qemu_strtosz() available for the new function. What about qemu_strtosz_MiB (yes, camelcase intended). Paolo > > Signed-off-by: Markus Armbruster <armbru@redhat.com> > --- > hmp.c | 2 +- > hw/misc/ivshmem.c | 2 +- > include/qemu/cutils.h | 2 +- > monitor.c | 2 +- > tests/test-cutils.c | 38 +++++++++++++++++++------------------- > util/cutils.c | 2 +- > 6 files changed, 24 insertions(+), 24 deletions(-) > > diff --git a/hmp.c b/hmp.c > index 2bc4f06..6d0d05b 100644 > --- a/hmp.c > +++ b/hmp.c > @@ -1379,7 +1379,7 @@ void hmp_migrate_set_parameter(Monitor *mon, const QDict *qdict) > break; > case MIGRATION_PARAMETER_MAX_BANDWIDTH: > p.has_max_bandwidth = true; > - valuebw = qemu_strtosz(valuestr, &endp); > + valuebw = qemu_strtosz_mebi(valuestr, &endp); > if (valuebw < 0 || (size_t)valuebw != valuebw > || *endp != '\0') { > error_setg(&err, "Invalid size %s", valuestr); > diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c > index bf57e63..382dd8b 100644 > --- a/hw/misc/ivshmem.c > +++ b/hw/misc/ivshmem.c > @@ -1268,7 +1268,7 @@ static void ivshmem_realize(PCIDevice *dev, Error **errp) > s->legacy_size = 4 << 20; /* 4 MB default */ > } else { > char *end; > - int64_t size = qemu_strtosz(s->sizearg, &end); > + int64_t size = qemu_strtosz_mebi(s->sizearg, &end); > if (size < 0 || (size_t)size != size || *end != '\0' > || !is_power_of_2(size)) { > error_setg(errp, "Invalid size %s", s->sizearg); > diff --git a/include/qemu/cutils.h b/include/qemu/cutils.h > index 81613d0..5f4e138 100644 > --- a/include/qemu/cutils.h > +++ b/include/qemu/cutils.h > @@ -153,9 +153,9 @@ int parse_uint_full(const char *s, unsigned long long *value, int base); > #define QEMU_STRTOSZ_DEFSUFFIX_MB 'M' > #define QEMU_STRTOSZ_DEFSUFFIX_KB 'K' > #define QEMU_STRTOSZ_DEFSUFFIX_B 'B' > -int64_t qemu_strtosz(const char *nptr, char **end); > int64_t qemu_strtosz_suffix(const char *nptr, char **end, > const char default_suffix); > +int64_t qemu_strtosz_mebi(const char *nptr, char **end); > int64_t qemu_strtosz_metric(const char *nptr, char **end); > > #define K_BYTE (1ULL << 10) > diff --git a/monitor.c b/monitor.c > index 3cd72a9..1f8c031 100644 > --- a/monitor.c > +++ b/monitor.c > @@ -2785,7 +2785,7 @@ static QDict *monitor_parse_arguments(Monitor *mon, > break; > } > } > - val = qemu_strtosz(p, &end); > + val = qemu_strtosz_mebi(p, &end); > if (val < 0) { > monitor_printf(mon, "invalid size\n"); > goto fail; > diff --git a/tests/test-cutils.c b/tests/test-cutils.c > index 383f812..86d36b7 100644 > --- a/tests/test-cutils.c > +++ b/tests/test-cutils.c > @@ -1376,16 +1376,16 @@ static void test_qemu_strtosz_simple(void) > int64_t res; > > str = "0"; > - res = qemu_strtosz(str, &endptr); > + res = qemu_strtosz_mebi(str, &endptr); > g_assert_cmpint(res, ==, 0); > g_assert(endptr == str + 1); > > str = "12345M"; > - res = qemu_strtosz(str, &endptr); > + res = qemu_strtosz_mebi(str, &endptr); > g_assert_cmpint(res, ==, 12345 * M_BYTE); > g_assert(endptr == str + 6); > > - res = qemu_strtosz(str, NULL); > + res = qemu_strtosz_mebi(str, NULL); > g_assert_cmpint(res, ==, 12345 * M_BYTE); > > /* Note: precision is 53 bits since we're parsing with strtod() */ > @@ -1433,35 +1433,35 @@ static void test_qemu_strtosz_units(void) > int64_t res; > > /* default is M */ > - res = qemu_strtosz(none, &endptr); > + res = qemu_strtosz_mebi(none, &endptr); > g_assert_cmpint(res, ==, M_BYTE); > g_assert(endptr == none + 1); > > - res = qemu_strtosz(b, &endptr); > + res = qemu_strtosz_mebi(b, &endptr); > g_assert_cmpint(res, ==, 1); > g_assert(endptr == b + 2); > > - res = qemu_strtosz(k, &endptr); > + res = qemu_strtosz_mebi(k, &endptr); > g_assert_cmpint(res, ==, K_BYTE); > g_assert(endptr == k + 2); > > - res = qemu_strtosz(m, &endptr); > + res = qemu_strtosz_mebi(m, &endptr); > g_assert_cmpint(res, ==, M_BYTE); > g_assert(endptr == m + 2); > > - res = qemu_strtosz(g, &endptr); > + res = qemu_strtosz_mebi(g, &endptr); > g_assert_cmpint(res, ==, G_BYTE); > g_assert(endptr == g + 2); > > - res = qemu_strtosz(t, &endptr); > + res = qemu_strtosz_mebi(t, &endptr); > g_assert_cmpint(res, ==, T_BYTE); > g_assert(endptr == t + 2); > > - res = qemu_strtosz(p, &endptr); > + res = qemu_strtosz_mebi(p, &endptr); > g_assert_cmpint(res, ==, P_BYTE); > g_assert(endptr == p + 2); > > - res = qemu_strtosz(e, &endptr); > + res = qemu_strtosz_mebi(e, &endptr); > g_assert_cmpint(res, ==, E_BYTE); > g_assert(endptr == e + 2); > } > @@ -1472,7 +1472,7 @@ static void test_qemu_strtosz_float(void) > char *endptr = NULL; > int64_t res; > > - res = qemu_strtosz(str, &endptr); > + res = qemu_strtosz_mebi(str, &endptr); > g_assert_cmpint(res, ==, 12.345 * M_BYTE); > g_assert(endptr == str + 7); > } > @@ -1484,17 +1484,17 @@ static void test_qemu_strtosz_invalid(void) > int64_t res; > > str = ""; > - res = qemu_strtosz(str, &endptr); > + res = qemu_strtosz_mebi(str, &endptr); > g_assert_cmpint(res, ==, -EINVAL); > g_assert(endptr == str); > > str = " \t "; > - res = qemu_strtosz(str, &endptr); > + res = qemu_strtosz_mebi(str, &endptr); > g_assert_cmpint(res, ==, -EINVAL); > g_assert(endptr == str); > > str = "crap"; > - res = qemu_strtosz(str, &endptr); > + res = qemu_strtosz_mebi(str, &endptr); > g_assert_cmpint(res, ==, -EINVAL); > g_assert(endptr == str); > } > @@ -1506,12 +1506,12 @@ static void test_qemu_strtosz_trailing(void) > int64_t res; > > str = "123xxx"; > - res = qemu_strtosz(str, &endptr); > + res = qemu_strtosz_mebi(str, &endptr); > g_assert_cmpint(res, ==, 123 * M_BYTE); > g_assert(endptr == str + 3); > > str = "1kiB"; > - res = qemu_strtosz(str, &endptr); > + res = qemu_strtosz_mebi(str, &endptr); > g_assert_cmpint(res, ==, 1024); > g_assert(endptr == str + 2); > } > @@ -1523,7 +1523,7 @@ static void test_qemu_strtosz_erange(void) > int64_t res; > > str = "-1"; > - res = qemu_strtosz(str, &endptr); > + res = qemu_strtosz_mebi(str, &endptr); > g_assert_cmpint(res, ==, -ERANGE); > g_assert(endptr == str + 2); > > @@ -1543,7 +1543,7 @@ static void test_qemu_strtosz_erange(void) > g_assert(endptr == str + 19); > > str = "10E"; > - res = qemu_strtosz(str, &endptr); > + res = qemu_strtosz_mebi(str, &endptr); > g_assert_cmpint(res, ==, -ERANGE); > g_assert(endptr == str + 3); > } > diff --git a/util/cutils.c b/util/cutils.c > index 8a506e7..0315d5d 100644 > --- a/util/cutils.c > +++ b/util/cutils.c > @@ -254,7 +254,7 @@ int64_t qemu_strtosz_suffix(const char *nptr, char **end, > return do_strtosz(nptr, end, default_suffix, 1024); > } > > -int64_t qemu_strtosz(const char *nptr, char **end) > +int64_t qemu_strtosz_mebi(const char *nptr, char **end) > { > return qemu_strtosz_suffix(nptr, end, QEMU_STRTOSZ_DEFSUFFIX_MB); > } >
Paolo Bonzini <pbonzini@redhat.com> writes: > On 14/02/2017 11:26, Markus Armbruster wrote: >> With qemu_strtosz(), no suffix means mebibytes. It's used rarely. >> I'm going to add a similar function where no suffix means bytes. >> Rename qemu_strtosz() to qemu_strtosz_mebi() to make the name >> qemu_strtosz() available for the new function. > > What about qemu_strtosz_MiB (yes, camelcase intended). Yes, that seems clearer. Thanks!
On 02/14/2017 04:26 AM, Markus Armbruster wrote: > With qemu_strtosz(), no suffix means mebibytes. It's used rarely. > I'm going to add a similar function where no suffix means bytes. > Rename qemu_strtosz() to qemu_strtosz_mebi() to make the name > qemu_strtosz() available for the new function. > > Signed-off-by: Markus Armbruster <armbru@redhat.com> > --- With the conversion to Paolo's suggested naming (s/mebi/MiB/), Reviewed-by: Eric Blake <eblake@redhat.com>
diff --git a/hmp.c b/hmp.c index 2bc4f06..6d0d05b 100644 --- a/hmp.c +++ b/hmp.c @@ -1379,7 +1379,7 @@ void hmp_migrate_set_parameter(Monitor *mon, const QDict *qdict) break; case MIGRATION_PARAMETER_MAX_BANDWIDTH: p.has_max_bandwidth = true; - valuebw = qemu_strtosz(valuestr, &endp); + valuebw = qemu_strtosz_mebi(valuestr, &endp); if (valuebw < 0 || (size_t)valuebw != valuebw || *endp != '\0') { error_setg(&err, "Invalid size %s", valuestr); diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c index bf57e63..382dd8b 100644 --- a/hw/misc/ivshmem.c +++ b/hw/misc/ivshmem.c @@ -1268,7 +1268,7 @@ static void ivshmem_realize(PCIDevice *dev, Error **errp) s->legacy_size = 4 << 20; /* 4 MB default */ } else { char *end; - int64_t size = qemu_strtosz(s->sizearg, &end); + int64_t size = qemu_strtosz_mebi(s->sizearg, &end); if (size < 0 || (size_t)size != size || *end != '\0' || !is_power_of_2(size)) { error_setg(errp, "Invalid size %s", s->sizearg); diff --git a/include/qemu/cutils.h b/include/qemu/cutils.h index 81613d0..5f4e138 100644 --- a/include/qemu/cutils.h +++ b/include/qemu/cutils.h @@ -153,9 +153,9 @@ int parse_uint_full(const char *s, unsigned long long *value, int base); #define QEMU_STRTOSZ_DEFSUFFIX_MB 'M' #define QEMU_STRTOSZ_DEFSUFFIX_KB 'K' #define QEMU_STRTOSZ_DEFSUFFIX_B 'B' -int64_t qemu_strtosz(const char *nptr, char **end); int64_t qemu_strtosz_suffix(const char *nptr, char **end, const char default_suffix); +int64_t qemu_strtosz_mebi(const char *nptr, char **end); int64_t qemu_strtosz_metric(const char *nptr, char **end); #define K_BYTE (1ULL << 10) diff --git a/monitor.c b/monitor.c index 3cd72a9..1f8c031 100644 --- a/monitor.c +++ b/monitor.c @@ -2785,7 +2785,7 @@ static QDict *monitor_parse_arguments(Monitor *mon, break; } } - val = qemu_strtosz(p, &end); + val = qemu_strtosz_mebi(p, &end); if (val < 0) { monitor_printf(mon, "invalid size\n"); goto fail; diff --git a/tests/test-cutils.c b/tests/test-cutils.c index 383f812..86d36b7 100644 --- a/tests/test-cutils.c +++ b/tests/test-cutils.c @@ -1376,16 +1376,16 @@ static void test_qemu_strtosz_simple(void) int64_t res; str = "0"; - res = qemu_strtosz(str, &endptr); + res = qemu_strtosz_mebi(str, &endptr); g_assert_cmpint(res, ==, 0); g_assert(endptr == str + 1); str = "12345M"; - res = qemu_strtosz(str, &endptr); + res = qemu_strtosz_mebi(str, &endptr); g_assert_cmpint(res, ==, 12345 * M_BYTE); g_assert(endptr == str + 6); - res = qemu_strtosz(str, NULL); + res = qemu_strtosz_mebi(str, NULL); g_assert_cmpint(res, ==, 12345 * M_BYTE); /* Note: precision is 53 bits since we're parsing with strtod() */ @@ -1433,35 +1433,35 @@ static void test_qemu_strtosz_units(void) int64_t res; /* default is M */ - res = qemu_strtosz(none, &endptr); + res = qemu_strtosz_mebi(none, &endptr); g_assert_cmpint(res, ==, M_BYTE); g_assert(endptr == none + 1); - res = qemu_strtosz(b, &endptr); + res = qemu_strtosz_mebi(b, &endptr); g_assert_cmpint(res, ==, 1); g_assert(endptr == b + 2); - res = qemu_strtosz(k, &endptr); + res = qemu_strtosz_mebi(k, &endptr); g_assert_cmpint(res, ==, K_BYTE); g_assert(endptr == k + 2); - res = qemu_strtosz(m, &endptr); + res = qemu_strtosz_mebi(m, &endptr); g_assert_cmpint(res, ==, M_BYTE); g_assert(endptr == m + 2); - res = qemu_strtosz(g, &endptr); + res = qemu_strtosz_mebi(g, &endptr); g_assert_cmpint(res, ==, G_BYTE); g_assert(endptr == g + 2); - res = qemu_strtosz(t, &endptr); + res = qemu_strtosz_mebi(t, &endptr); g_assert_cmpint(res, ==, T_BYTE); g_assert(endptr == t + 2); - res = qemu_strtosz(p, &endptr); + res = qemu_strtosz_mebi(p, &endptr); g_assert_cmpint(res, ==, P_BYTE); g_assert(endptr == p + 2); - res = qemu_strtosz(e, &endptr); + res = qemu_strtosz_mebi(e, &endptr); g_assert_cmpint(res, ==, E_BYTE); g_assert(endptr == e + 2); } @@ -1472,7 +1472,7 @@ static void test_qemu_strtosz_float(void) char *endptr = NULL; int64_t res; - res = qemu_strtosz(str, &endptr); + res = qemu_strtosz_mebi(str, &endptr); g_assert_cmpint(res, ==, 12.345 * M_BYTE); g_assert(endptr == str + 7); } @@ -1484,17 +1484,17 @@ static void test_qemu_strtosz_invalid(void) int64_t res; str = ""; - res = qemu_strtosz(str, &endptr); + res = qemu_strtosz_mebi(str, &endptr); g_assert_cmpint(res, ==, -EINVAL); g_assert(endptr == str); str = " \t "; - res = qemu_strtosz(str, &endptr); + res = qemu_strtosz_mebi(str, &endptr); g_assert_cmpint(res, ==, -EINVAL); g_assert(endptr == str); str = "crap"; - res = qemu_strtosz(str, &endptr); + res = qemu_strtosz_mebi(str, &endptr); g_assert_cmpint(res, ==, -EINVAL); g_assert(endptr == str); } @@ -1506,12 +1506,12 @@ static void test_qemu_strtosz_trailing(void) int64_t res; str = "123xxx"; - res = qemu_strtosz(str, &endptr); + res = qemu_strtosz_mebi(str, &endptr); g_assert_cmpint(res, ==, 123 * M_BYTE); g_assert(endptr == str + 3); str = "1kiB"; - res = qemu_strtosz(str, &endptr); + res = qemu_strtosz_mebi(str, &endptr); g_assert_cmpint(res, ==, 1024); g_assert(endptr == str + 2); } @@ -1523,7 +1523,7 @@ static void test_qemu_strtosz_erange(void) int64_t res; str = "-1"; - res = qemu_strtosz(str, &endptr); + res = qemu_strtosz_mebi(str, &endptr); g_assert_cmpint(res, ==, -ERANGE); g_assert(endptr == str + 2); @@ -1543,7 +1543,7 @@ static void test_qemu_strtosz_erange(void) g_assert(endptr == str + 19); str = "10E"; - res = qemu_strtosz(str, &endptr); + res = qemu_strtosz_mebi(str, &endptr); g_assert_cmpint(res, ==, -ERANGE); g_assert(endptr == str + 3); } diff --git a/util/cutils.c b/util/cutils.c index 8a506e7..0315d5d 100644 --- a/util/cutils.c +++ b/util/cutils.c @@ -254,7 +254,7 @@ int64_t qemu_strtosz_suffix(const char *nptr, char **end, return do_strtosz(nptr, end, default_suffix, 1024); } -int64_t qemu_strtosz(const char *nptr, char **end) +int64_t qemu_strtosz_mebi(const char *nptr, char **end) { return qemu_strtosz_suffix(nptr, end, QEMU_STRTOSZ_DEFSUFFIX_MB); }
With qemu_strtosz(), no suffix means mebibytes. It's used rarely. I'm going to add a similar function where no suffix means bytes. Rename qemu_strtosz() to qemu_strtosz_mebi() to make the name qemu_strtosz() available for the new function. Signed-off-by: Markus Armbruster <armbru@redhat.com> --- hmp.c | 2 +- hw/misc/ivshmem.c | 2 +- include/qemu/cutils.h | 2 +- monitor.c | 2 +- tests/test-cutils.c | 38 +++++++++++++++++++------------------- util/cutils.c | 2 +- 6 files changed, 24 insertions(+), 24 deletions(-)