From: Wenchao Xia <xiawenc@linux.vnet.ibm.com>
To: qemu-devel@nongnu.org
Cc: pbonzini@redhat.com, Wenchao Xia <xiawenc@linux.vnet.ibm.com>,
armbru@redhat.com, lcapitulino@redhat.com
Subject: [Qemu-devel] [PATCH V9 07/15] monitor: split off monitor_data_init()
Date: Fri, 23 Aug 2013 16:17:59 +0800 [thread overview]
Message-ID: <1377245887-22745-8-git-send-email-xiawenc@linux.vnet.ibm.com> (raw)
In-Reply-To: <1377245887-22745-1-git-send-email-xiawenc@linux.vnet.ibm.com>
In qmp_human_monitor_command(), the monitor need to initialized for
basic functionalities, and later more init code will be added, so
split off this function. Note that it is different with QMP mode
monitor which accept json string from monitor's input,
qmp_human_monitor_command() retrieve the human style command from
QMP input, then send the command to a normal mode monitor.
Signed-off-by: Wenchao Xia <xiawenc@linux.vnet.ibm.com>
---
monitor.c | 20 +++++++++++++++-----
1 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/monitor.c b/monitor.c
index bf019e2..3ac98ef 100644
--- a/monitor.c
+++ b/monitor.c
@@ -683,14 +683,24 @@ static int do_qmp_capabilities(Monitor *mon, const QDict *params,
static void handle_user_command(Monitor *mon, const char *cmdline);
+static void monitor_data_init(Monitor *mon)
+{
+ memset(mon, 0, sizeof(Monitor));
+ mon->outbuf = qstring_new();
+}
+
+static void monitor_data_destroy(Monitor *mon)
+{
+ QDECREF(mon->outbuf);
+}
+
char *qmp_human_monitor_command(const char *command_line, bool has_cpu_index,
int64_t cpu_index, Error **errp)
{
char *output = NULL;
Monitor *old_mon, hmp;
- memset(&hmp, 0, sizeof(hmp));
- hmp.outbuf = qstring_new();
+ monitor_data_init(&hmp);
hmp.skip_flush = true;
old_mon = cur_mon;
@@ -716,7 +726,7 @@ char *qmp_human_monitor_command(const char *command_line, bool has_cpu_index,
}
out:
- QDECREF(hmp.outbuf);
+ monitor_data_destroy(&hmp);
return output;
}
@@ -4766,8 +4776,8 @@ void monitor_init(CharDriverState *chr, int flags)
is_first_init = 0;
}
- mon = g_malloc0(sizeof(*mon));
- mon->outbuf = qstring_new();
+ mon = g_malloc(sizeof(*mon));
+ monitor_data_init(mon);
mon->chr = chr;
mon->flags = flags;
--
1.7.1
next prev parent reply other threads:[~2013-08-23 8:20 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-23 8:17 [Qemu-devel] [PATCH V9 00/15] monitor: support sub command group in auto completion and help Wenchao Xia
2013-08-23 8:17 ` [Qemu-devel] [PATCH V9 01/15] monitor: avoid use of global *cur_mon in cmd_completion() Wenchao Xia
2013-08-23 8:17 ` [Qemu-devel] [PATCH V9 02/15] monitor: avoid use of global *cur_mon in file_completion() Wenchao Xia
2013-08-23 8:17 ` [Qemu-devel] [PATCH V9 03/15] monitor: avoid use of global *cur_mon in block_completion_it() Wenchao Xia
2013-08-23 8:17 ` [Qemu-devel] [PATCH V9 04/15] monitor: avoid use of global *cur_mon in monitor_find_completion() Wenchao Xia
2013-08-23 8:17 ` [Qemu-devel] [PATCH V9 05/15] monitor: avoid use of global *cur_mon in readline_completion() Wenchao Xia
2013-08-23 8:17 ` [Qemu-devel] [PATCH V9 06/15] monitor: call sortcmdlist() only one time Wenchao Xia
2013-08-23 8:17 ` Wenchao Xia [this message]
2013-08-23 8:18 ` [Qemu-devel] [PATCH V9 08/15] monitor: avoid direct use of global variable *mon_cmds Wenchao Xia
2013-08-23 8:18 ` [Qemu-devel] [PATCH V9 09/15] monitor: code move for parse_cmdline() Wenchao Xia
2013-08-23 8:18 ` [Qemu-devel] [PATCH V9 10/15] monitor: refine parse_cmdline() Wenchao Xia
2013-08-23 8:18 ` [Qemu-devel] [PATCH V9 11/15] monitor: support sub command in help Wenchao Xia
2013-08-23 8:18 ` [Qemu-devel] [PATCH V9 12/15] monitor: refine monitor_find_completion() Wenchao Xia
2013-08-23 8:18 ` [Qemu-devel] [PATCH V9 13/15] monitor: support sub command in auto completion Wenchao Xia
2013-08-23 8:18 ` [Qemu-devel] [PATCH V9 14/15] monitor: allow "help" show message for single command in sub group Wenchao Xia
2013-08-23 8:18 ` [Qemu-devel] [PATCH V9 15/15] monitor: improve auto complete of "help" " Wenchao Xia
2013-08-26 15:55 ` [Qemu-devel] [PATCH V9 00/15] monitor: support sub command group in auto completion and help Luiz Capitulino
2013-08-27 1:43 ` Wenchao Xia
2013-08-27 12:39 ` Wenchao Xia
2013-08-27 13:19 ` Luiz Capitulino
2013-08-28 2:16 ` Wenchao Xia
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1377245887-22745-8-git-send-email-xiawenc@linux.vnet.ibm.com \
--to=xiawenc@linux.vnet.ibm.com \
--cc=armbru@redhat.com \
--cc=lcapitulino@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).