diff options
author | Michael S. Tsirkin <mst@redhat.com> | 2014-06-18 17:59:51 +0300 |
---|---|---|
committer | Michael S. Tsirkin <mst@redhat.com> | 2014-06-19 18:44:22 +0300 |
commit | 56fdfb6106276b761e360a84321bab0765bfa15d (patch) | |
tree | 6647cee68f66de412f402a01ef86dc2bdc5cead4 | |
parent | 6ffa1695769d0227e28715f7e77cdc49aeab1b8c (diff) |
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>
-rw-r--r-- | qapi/string-output-visitor.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/qapi/string-output-visitor.c b/qapi/string-output-visitor.c index 8735b00448..e9aca3bfdc 100644 --- a/qapi/string-output-visitor.c +++ b/qapi/string-output-visitor.c @@ -98,7 +98,7 @@ static void format_string(StringOutputVisitor *sov, Range *r, bool next, { 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 @@ static void format_string(StringOutputVisitor *sov, Range *r, bool next, } } 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 @@ static void print_type_int(Visitor *v, int64_t *obj, const char *name, 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, ")"); |