diff mbox

qemu: jaso-parser: Output the content of invalid keyword

Message ID 20100324151205.GA13786@akong@redhat.com
State Accepted
Headers show

Commit Message

Amos Kong March 24, 2010, 3:12 p.m. UTC
When input some invialid 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>
---
 json-parser.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

Comments

Markus Armbruster March 24, 2010, 4 p.m. UTC | #1
Amos Kong <akong@redhat.com> writes:

> When input some invialid 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>

Looks good to me.

Hint: it's best to put a version in the subject when you respin, like
[PATCH v2] ...
Richard Henderson March 24, 2010, 5:25 p.m. UTC | #2
On 03/24/2010 08:12 AM, Amos Kong wrote:
> 
> When input some invialid 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>

> ---
>  json-parser.c |    8 +++++++-
>  1 files changed, 7 insertions(+), 1 deletions(-)
> 
> diff --git a/json-parser.c b/json-parser.c
> index 579928f..b55d763 100644
> --- a/json-parser.c
> +++ b/json-parser.c
> @@ -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);
>  }
>  
>  /**
Luiz Capitulino March 24, 2010, 8:38 p.m. UTC | #3
On Wed, 24 Mar 2010 17:00:14 +0100
Markus Armbruster <armbru@redhat.com> wrote:

> Amos Kong <akong@redhat.com> writes:
> 
> > When input some invialid 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>
> 
> Looks good to me.
> 
> Hint: it's best to put a version in the subject when you respin, like
> [PATCH v2] ...

 Yes, and maintainers may miss a patch down a thread (and it's a good
opportunity to fix the subject).
diff mbox

Patch

diff --git a/json-parser.c b/json-parser.c
index 579928f..b55d763 100644
--- a/json-parser.c
+++ b/json-parser.c
@@ -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);
 }
 
 /**