util: remove support for hex numbers with a scaling suffix
This was deprecated in 6.0 and can now be removed. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
eaaaf8abdc
commit
8b902e3d23
@ -58,14 +58,6 @@ and will cause a warning.
|
|||||||
The replacement for the ``nodelay`` short-form boolean option is ``nodelay=on``
|
The replacement for the ``nodelay`` short-form boolean option is ``nodelay=on``
|
||||||
rather than ``delay=off``.
|
rather than ``delay=off``.
|
||||||
|
|
||||||
hexadecimal sizes with scaling multipliers (since 6.0)
|
|
||||||
''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
||||||
|
|
||||||
Input parameters that take a size value should only use a size suffix
|
|
||||||
(such as 'k' or 'M') when the base is written in decimal, and not when
|
|
||||||
the value is hexadecimal. That is, '0x20M' is deprecated, and should
|
|
||||||
be written either as '32M' or as '0x2000000'.
|
|
||||||
|
|
||||||
``-spice password=string`` (since 6.0)
|
``-spice password=string`` (since 6.0)
|
||||||
''''''''''''''''''''''''''''''''''''''
|
''''''''''''''''''''''''''''''''''''''
|
||||||
|
|
||||||
|
@ -408,6 +408,14 @@ pcspk-audiodev=<name>``.
|
|||||||
|
|
||||||
Use ``-device`` instead.
|
Use ``-device`` instead.
|
||||||
|
|
||||||
|
Hexadecimal sizes with scaling multipliers (since 8.0)
|
||||||
|
''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
||||||
|
|
||||||
|
Input parameters that take a size value should only use a size suffix
|
||||||
|
(such as 'k' or 'M') when the base is written in decimal, and not when
|
||||||
|
the value is hexadecimal. That is, '0x20M' should be written either as
|
||||||
|
'32M' or as '0x2000000'.
|
||||||
|
|
||||||
|
|
||||||
QEMU Machine Protocol (QMP) commands
|
QEMU Machine Protocol (QMP) commands
|
||||||
------------------------------------
|
------------------------------------
|
||||||
|
@ -2315,6 +2315,14 @@ static void test_qemu_strtosz_invalid(void)
|
|||||||
g_assert_cmpint(res, ==, 0xbaadf00d);
|
g_assert_cmpint(res, ==, 0xbaadf00d);
|
||||||
g_assert(endptr == str);
|
g_assert(endptr == str);
|
||||||
|
|
||||||
|
/* No suffixes */
|
||||||
|
str = "0x18M";
|
||||||
|
endptr = NULL;
|
||||||
|
err = qemu_strtosz(str, &endptr, &res);
|
||||||
|
g_assert_cmpint(err, ==, -EINVAL);
|
||||||
|
g_assert_cmpint(res, ==, 0xbaadf00d);
|
||||||
|
g_assert(endptr == str);
|
||||||
|
|
||||||
/* No negative values */
|
/* No negative values */
|
||||||
str = "-0";
|
str = "-0";
|
||||||
endptr = NULL;
|
endptr = NULL;
|
||||||
|
@ -197,10 +197,8 @@ static int64_t suffix_mul(char suffix, int64_t unit)
|
|||||||
* fractional portion is truncated to byte
|
* fractional portion is truncated to byte
|
||||||
* - 0x7fEE - hexadecimal, unit determined by @default_suffix
|
* - 0x7fEE - hexadecimal, unit determined by @default_suffix
|
||||||
*
|
*
|
||||||
* The following cause a deprecation warning, and may be removed in the future
|
|
||||||
* - 0xabc{kKmMgGtTpP} - hex with scaling suffix
|
|
||||||
*
|
|
||||||
* The following are intentionally not supported
|
* The following are intentionally not supported
|
||||||
|
* - hex with scaling suffix, such as 0x20M
|
||||||
* - octal, such as 08
|
* - octal, such as 08
|
||||||
* - fractional hex, such as 0x1.8
|
* - fractional hex, such as 0x1.8
|
||||||
* - floating point exponents, such as 1e3
|
* - floating point exponents, such as 1e3
|
||||||
@ -222,7 +220,6 @@ static int do_strtosz(const char *nptr, const char **end,
|
|||||||
int retval;
|
int retval;
|
||||||
const char *endptr, *f;
|
const char *endptr, *f;
|
||||||
unsigned char c;
|
unsigned char c;
|
||||||
bool hex = false;
|
|
||||||
uint64_t val, valf = 0;
|
uint64_t val, valf = 0;
|
||||||
int64_t mul;
|
int64_t mul;
|
||||||
|
|
||||||
@ -237,17 +234,16 @@ static int do_strtosz(const char *nptr, const char **end,
|
|||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
if (val == 0 && (*endptr == 'x' || *endptr == 'X')) {
|
if (val == 0 && (*endptr == 'x' || *endptr == 'X')) {
|
||||||
/* Input looks like hex, reparse, and insist on no fraction. */
|
/* Input looks like hex; reparse, and insist on no fraction or suffix. */
|
||||||
retval = qemu_strtou64(nptr, &endptr, 16, &val);
|
retval = qemu_strtou64(nptr, &endptr, 16, &val);
|
||||||
if (retval) {
|
if (retval) {
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
if (*endptr == '.') {
|
if (*endptr == '.' || suffix_mul(*endptr, unit) > 0) {
|
||||||
endptr = nptr;
|
endptr = nptr;
|
||||||
retval = -EINVAL;
|
retval = -EINVAL;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
hex = true;
|
|
||||||
} else if (*endptr == '.') {
|
} else if (*endptr == '.') {
|
||||||
/*
|
/*
|
||||||
* Input looks like a fraction. Make sure even 1.k works
|
* Input looks like a fraction. Make sure even 1.k works
|
||||||
@ -272,10 +268,6 @@ static int do_strtosz(const char *nptr, const char **end,
|
|||||||
c = *endptr;
|
c = *endptr;
|
||||||
mul = suffix_mul(c, unit);
|
mul = suffix_mul(c, unit);
|
||||||
if (mul > 0) {
|
if (mul > 0) {
|
||||||
if (hex) {
|
|
||||||
warn_report("Using a multiplier suffix on hex numbers "
|
|
||||||
"is deprecated: %s", nptr);
|
|
||||||
}
|
|
||||||
endptr++;
|
endptr++;
|
||||||
} else {
|
} else {
|
||||||
mul = suffix_mul(default_suffix, unit);
|
mul = suffix_mul(default_suffix, unit);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user