On 06/24/2013 06:48 AM, Wenchao Xia wrote: > Global variable *mon_cmds and *info_cmds are not 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 serial. s/serial/series/ (remember, "serial" is a device, "series" is a sequence of patches) > 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(). > > Wenchao Xia (7): > 1 monitor: discard global variable *cur_mon in completion functions > 2 monitor: discard global variable *mon_cmds > 3 monitor: discard global variable *info_cmds in help functions > 4 monitor: code move for parse_cmdline() > 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 tip of single command in sub group s/tip/details/ -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org