From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MY0sN-0006Lj-TP for qemu-devel@nongnu.org; Mon, 03 Aug 2009 12:59:08 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MY0sK-0006Jz-48 for qemu-devel@nongnu.org; Mon, 03 Aug 2009 12:59:07 -0400 Received: from [199.232.76.173] (port=55297 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MY0sJ-0006Ju-Ub for qemu-devel@nongnu.org; Mon, 03 Aug 2009 12:59:04 -0400 Received: from mx2.redhat.com ([66.187.237.31]:56390) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MY0sJ-0003EL-8m for qemu-devel@nongnu.org; Mon, 03 Aug 2009 12:59:03 -0400 From: Luiz Capitulino Date: Mon, 3 Aug 2009 13:57:19 -0300 Message-Id: <1249318642-19324-23-git-send-email-lcapitulino@redhat.com> In-Reply-To: <1249318642-19324-1-git-send-email-lcapitulino@redhat.com> References: <1249318642-19324-1-git-send-email-lcapitulino@redhat.com> Subject: [Qemu-devel] [PATCH 22/25] monitor: Drop 'nb_args' from monitor_parse_command() List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: jan.kiszka@siemens.com, aliguori@us.ibm.com, avi@redhat.com As far as I could understand nb_args is used to control additions to the (already removed and size-fixed) args[] array. As QDict is a dynamic data structure we don't need this. Signed-off-by: Luiz Capitulino --- monitor.c | 30 ++++++------------------------ 1 files changed, 6 insertions(+), 24 deletions(-) diff --git a/monitor.c b/monitor.c index 331d456..265d24a 100644 --- a/monitor.c +++ b/monitor.c @@ -2699,7 +2699,7 @@ static const mon_cmd_t *monitor_parse_command(Monitor *mon, QDict *qdict) { const char *p, *typestr; - int c, nb_args, str_idx; + int c, str_idx; const mon_cmd_t *cmd; char cmdname[256]; char buf[1024]; @@ -2727,7 +2727,7 @@ static const mon_cmd_t *monitor_parse_command(Monitor *mon, /* parse the parameters */ typestr = cmd->args_type; - nb_args = str_idx = 0; + str_idx = 0; for(;;) { typestr = key_get_info(typestr, &key); if (!typestr) @@ -2773,14 +2773,12 @@ static const mon_cmd_t *monitor_parse_command(Monitor *mon, pstrcpy(str, sizeof(buf), buf); str_allocated[str_idx++] = str; add_str: - if (nb_args >= MAX_ARGS) { - error_args: - monitor_printf(mon, "%s: too many arguments\n", cmdname); - goto fail; - } if (str) { + if (str_idx >= MAX_ARGS) { + monitor_printf(mon, "%s: too many arguments\n",cmdname); + goto fail; + } qdict_add(qdict, key, str); - nb_args++; } } break; @@ -2858,12 +2856,9 @@ static const mon_cmd_t *monitor_parse_command(Monitor *mon, size = -1; } } - if (nb_args + 3 > MAX_ARGS) - goto error_args; qdict_add(qdict, "count", (void*)(long)count); qdict_add(qdict, "format", (void*)(long)format); qdict_add(qdict, "size", (void*)(long)size); - nb_args += 3; } break; case 'i': @@ -2890,35 +2885,25 @@ static const mon_cmd_t *monitor_parse_command(Monitor *mon, } } typestr++; - if (nb_args >= MAX_ARGS) - goto error_args; } if (get_expr(mon, &val, &p)) goto fail; if (c == 'i') { - if (nb_args >= MAX_ARGS) - goto error_args; qdict_add(qdict, key, (void *)(long) val); - nb_args++; } else { char *lkey; - if ((nb_args + 1) >= MAX_ARGS) - goto error_args; lkey = key_append_high(key); #if TARGET_PHYS_ADDR_BITS > 32 qdict_add(qdict, lkey, (void *)(long)((val >> 32) & 0xffffffff)); qemu_free(lkey); - nb_args++; #else qdict_add(qdict, lkey, (void *)0); qemu_free(lkey); - nb_args++; #endif lkey = key_append_low(key); qdict_add(qdict, lkey,(void *)(long)(val & 0xffffffff)); qemu_free(lkey); - nb_args++; } } break; @@ -2943,10 +2928,7 @@ static const mon_cmd_t *monitor_parse_command(Monitor *mon, p++; has_option = 1; } - if (nb_args >= MAX_ARGS) - goto error_args; qdict_add(qdict, key, (void *)(long)has_option); - nb_args++; } break; default: -- 1.6.4.rc3.12.gdf73a