From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NuSFx-0000PK-Sj for qemu-devel@nongnu.org; Wed, 24 Mar 2010 11:12:29 -0400 Received: from [140.186.70.92] (port=37129 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NuSFt-0000OM-Ql for qemu-devel@nongnu.org; Wed, 24 Mar 2010 11:12:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1NuSFo-00024U-Ui for qemu-devel@nongnu.org; Wed, 24 Mar 2010 11:12:25 -0400 Received: from mx1.redhat.com ([209.132.183.28]:51435) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NuSFo-00024M-N9 for qemu-devel@nongnu.org; Wed, 24 Mar 2010 11:12:20 -0400 Date: Wed, 24 Mar 2010 23:12:05 +0800 From: Amos Kong Message-ID: <20100324151205.GA13786@akong@redhat.com> References: <1269433020-16055-1-git-send-email-akong@redhat.com> <4BAA03E3.8010505@twiddle.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <4BAA03E3.8010505@twiddle.net> Subject: [Qemu-devel] [PATCH] qemu: jaso-parser: Output the content of invalid keyword Reply-To: Amos Kong List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Richard Henderson Cc: qemu-devel@nongnu.org, aurelien@aurel32.net, kvm@vger.kernel.org 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 --- 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 +#include #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); } /** -- 1.6.3.3