From: Michael S. Tsirkin Date: Wed, 18 Jun 2014 14:59:51 +0000 (+0300) Subject: qapi/string-output-visitor: fix bugs X-Git-Tag: qemu-xen-4.6.0-rc1~369^2~1 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=56fdfb6106276b761e360a84321bab0765bfa15d;p=qemu-upstream-4.6-testing.git 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 Signed-off-by: Michael S. Tsirkin Reviewed-by: Eric Blake --- diff --git a/qapi/string-output-visitor.c b/qapi/string-output-visitor.c index 8735b0044..e9aca3bfd 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, ")");