From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49614) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Usm4p-0006kJ-Fm for qemu-devel@nongnu.org; Fri, 28 Jun 2013 23:43:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Usm4o-00007x-CZ for qemu-devel@nongnu.org; Fri, 28 Jun 2013 23:43:55 -0400 Received: from e28smtp05.in.ibm.com ([122.248.162.5]:57725) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Usm4n-00007j-OF for qemu-devel@nongnu.org; Fri, 28 Jun 2013 23:43:54 -0400 Received: from /spool/local by e28smtp05.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Sat, 29 Jun 2013 09:08:33 +0530 Received: from d28relay05.in.ibm.com (d28relay05.in.ibm.com [9.184.220.62]) by d28dlp02.in.ibm.com (Postfix) with ESMTP id 8DAD83940053 for ; Sat, 29 Jun 2013 09:13:37 +0530 (IST) Received: from d28av05.in.ibm.com (d28av05.in.ibm.com [9.184.220.67]) by d28relay05.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id r5T3hZPu24772664 for ; Sat, 29 Jun 2013 09:13:35 +0530 Received: from d28av05.in.ibm.com (loopback [127.0.0.1]) by d28av05.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id r5T3hcdB016227 for ; Sat, 29 Jun 2013 13:43:38 +1000 Message-ID: <51CE57B0.2090707@linux.vnet.ibm.com> Date: Sat, 29 Jun 2013 11:42:40 +0800 From: Wenchao Xia MIME-Version: 1.0 References: <1372390771-11157-1-git-send-email-xiawenc@linux.vnet.ibm.com> In-Reply-To: <1372390771-11157-1-git-send-email-xiawenc@linux.vnet.ibm.com> Content-Type: text/plain; charset=GB2312 Content-Transfer-Encoding: 8bit Subject: Re: [Qemu-devel] [PATCH V4 0/7] monitor: support sub command group in auto completion and help List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Wenchao Xia Cc: pbonzini@redhat.com, lcapitulino@redhat.com, qemu-devel@nongnu.org, armbru@redhat.com ÓÚ 2013-6-28 11:39, Wenchao Xia дµÀ: > Global variable *mon_cmds and *info_cmds are not directly used any more, > *cur_mon is not used in completion related functions. It is possible to create > a monitor with different command table now, but that requirement do not exist > yet, so not changed it to save trouble. Log command is still a special case > now, may be it can be converted as sub group later. > > Patch 1-3 make sure the functions can be re-entered safely. > > V2: > General: > To discard *info_comds more graceful, help related function is modified to support > sub command too. > Patch 6/7 are added to improve help related functions. > Patch 5: not directly return to make sure args are freed. > > Address Luiz's comments: > Split patch into small series. > struct mon_cmd_t was not moved into header file, instead mon_cmnd_t *cmd_table is > added as a member in struct Monitor. > 5/7: drop original code comments for "info" in monitor_find_completion(). > > v3: > 5/7: add parameter **args_cmdline in parse_cmdline() to tell next valid > parameter's position. This fix the issue in case command length in input is not > equal to its name's length such as "help|?", and the case input start with > space such as " s". > 7/7: better commit message. > > v4: > Address Eric's comments: > 1/7, 2/7, 4/7: better commit title and message. > 1/7 remove useless (char *) in old code, add space around "for ()" in old code. > 3/7: separate code moving patch before usage. > 4/7: add space around "for ()" in old code, add min(nb_args, MAX_ARGS) in free > to make code stronger. > > Wenchao Xia (7): > 1 monitor: avoid direct use of global *cur_mon in completion functions > 2 monitor: avoid direct use of global variable *mon_cmds > 3 monitor: code move for parse_cmdline() > 4 monitor: avoid direct use of global *info_cmds in help functions > 5 monitor: support sub commands in auto completion > 6 monitor: improve "help" in auto completion for sub command > 7 monitor: improve "help" to allow show details of single command in sub group > > hmp-commands.hx | 2 +- > include/monitor/readline.h | 3 +- > monitor.c | 387 ++++++++++++++++++++++++++++---------------- > readline.c | 5 +- > 4 files changed, 254 insertions(+), 143 deletions(-) > > > This version have a build issue in 4/7 caused by macro 'min' can't be recognized. I am a bit too rush on this version for catching a train. I'll respin to fix that, sorry for interrupt. -- Best Regards Wenchao Xia