json-parser: Output the content of invalid keyword
authorAmos Kong <akong@redhat.com>
Wed, 24 Mar 2010 15:12:05 +0000 (23:12 +0800)
committerAurelien Jarno <aurelien@aurel32.net>
Sat, 27 Mar 2010 12:51:01 +0000 (13:51 +0100)
When input some invalid word 'unknowcmd' through QMP port, qemu outputs
this error message:
  "parse error: invalid keyword `%s'"

This patch makes qemu output the content of invalid keyword, like:

  "parse error: invalid keyword `unknowcmd'"

Signed-off-by: Amos Kong <akong@redhat.com>
Acked-by: Richard Henderson <rth@redhat.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
json-parser.c

index 579928f2ee0b5fca8763a18cc98ee3c35e266395..b55d76373e8747a456b9295a598607a4e73198be 100644 (file)
@@ -12,6 +12,7 @@
  */
 
 #include <stdbool.h>
+#include <stdarg.h>
 
 #include "qemu-common.h"
 #include "qstring.h"
@@ -93,7 +94,12 @@ static int token_is_escape(QObject *obj, const char *value)
  */
 static void parse_error(JSONParserContext *ctxt, QObject *token, const char *msg, ...)
 {
-    fprintf(stderr, "parse error: %s\n", msg);
+    va_list ap;
+    va_start(ap, msg);
+    fprintf(stderr, "parse error: ");
+    vfprintf(stderr, msg, ap);
+    fprintf(stderr, "\n");
+    va_end(ap);
 }
 
 /**