From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NuOrM-0004a6-Kx for qemu-devel@nongnu.org; Wed, 24 Mar 2010 07:34:52 -0400 Received: from [140.186.70.92] (port=54805 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NuOrL-0004Zx-Et for qemu-devel@nongnu.org; Wed, 24 Mar 2010 07:34:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1NuOrK-0007H1-4G for qemu-devel@nongnu.org; Wed, 24 Mar 2010 07:34:51 -0400 Received: from mx1.redhat.com ([209.132.183.28]:44835) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NuOrJ-0007Gs-TP for qemu-devel@nongnu.org; Wed, 24 Mar 2010 07:34:50 -0400 Date: Wed, 24 Mar 2010 19:34:41 +0800 From: Amos Kong Message-ID: <20100324113441.GA5971@akong@redhat.com> References: <1269424853-15386-1-git-send-email-akong@redhat.com> <20100324102940.GA22874@hall.aurel32.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20100324102940.GA22874@hall.aurel32.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: qemu-devel@nongnu.org Cc: aurelien@aurel32.net, kvm@vger.kernel.org When input some invialid words in QMP port, qemu outputs this error message: "parse error: invalid keyword `%s'" This patch makes qemu output the content, like: "parse error: invalid keyword `unknow_cmd'" Signed-off-by: Amos Kong --- json-parser.c | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-) diff --git a/json-parser.c b/json-parser.c index 579928f..98a82af 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,11 @@ 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"); } /** -- 1.5.5.6