From 2c0d4b36e7fe28c569c5436f7724735e35d3c493 Mon Sep 17 00:00:00 2001 From: Roy Tam Date: Thu, 4 Feb 2010 10:30:30 +0800 Subject: json: fix PRId64 on Win32 OK we are fooled by the json lexer and parser. As we use %I64d to print 'long long' variables in Win32, but lexer and parser only deal with %lld but not %I64d, this patch add support for %I64d and solve 'info pci', 'powser_reset' and 'power_powerdown' assert failure in Win32. Signed-off-by: Anthony Liguori --- json-parser.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'json-parser.c') diff --git a/json-parser.c b/json-parser.c index e04932f..f3debcb 100644 --- a/json-parser.c +++ b/json-parser.c @@ -474,7 +474,8 @@ static QObject *parse_escape(JSONParserContext *ctxt, QList **tokens, va_list *a obj = QOBJECT(qint_from_int(va_arg(*ap, int))); } else if (token_is_escape(token, "%ld")) { obj = QOBJECT(qint_from_int(va_arg(*ap, long))); - } else if (token_is_escape(token, "%lld")) { + } else if (token_is_escape(token, "%lld") || + token_is_escape(token, "%I64d")) { obj = QOBJECT(qint_from_int(va_arg(*ap, long long))); } else if (token_is_escape(token, "%s")) { obj = QOBJECT(qstring_from_str(va_arg(*ap, const char *))); -- cgit v1.1