qapi/string-output-visitor: fix bugs
in human mode, we are creating the string:
16-31 (16-31)
instead of
16-17 (10-1f)
because we forgot to pass 'true' as the human parameter on one of the
two calls to format_string.
Also, this is a worsening of quality; previously we would produce
16 (0x10)
to make it obvious which number was hex.
Fix these issues.
Reported-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
diff --git a/qapi/string-output-visitor.c b/qapi/string-output-visitor.c
index 8735b00..e9aca3b 100644
--- a/qapi/string-output-visitor.c
+++ b/qapi/string-output-visitor.c
@@ -98,7 +98,7 @@
{
if (r->end - r->begin > 1) {
if (human) {
- g_string_append_printf(sov->string, "%" PRIx64 "-%" PRIx64,
+ g_string_append_printf(sov->string, "0x%" PRIx64 "-%" PRIx64,
r->begin, r->end - 1);
} else {
@@ -107,7 +107,7 @@
}
} else {
if (human) {
- g_string_append_printf(sov->string, "%" PRIx64, r->begin);
+ g_string_append_printf(sov->string, "0x%" PRIx64, r->begin);
} else {
g_string_append_printf(sov->string, "%" PRId64, r->begin);
}
@@ -186,7 +186,7 @@
g_string_append(sov->string, " (");
while (l) {
Range *r = l->data;
- format_string(sov, r, l->next != NULL, false);
+ format_string(sov, r, l->next != NULL, true);
l = l->next;
}
g_string_append(sov->string, ")");