[9/9] HMP: info status: Print the VM state

Message ID 1315599946-27081-10-git-send-email-lcapitulino@redhat.com
State New
Headers show

Commit Message

Luiz Capitulino Sept. 9, 2011, 8:25 p.m.
Today our printf format for the "info status" command is:

  VM status: %s

Where the string can be "running", "running (single step mode)" or

This commit extends it to:

 VM status: %s (%s)

The second string corresponds to the "status" field as returned
by the query-status QMP command and it's only printed if "status"
is not "running" or "paused".


 VM status: paused (shutdown)

PS: libvirt uses "info status" when using HMP, but the new format
    should not break it.

Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
 monitor.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)


diff --git a/monitor.c b/monitor.c
index 7684ba9..860530b 100644
--- a/monitor.c
+++ b/monitor.c
@@ -2618,6 +2618,7 @@  static int do_inject_nmi(Monitor *mon, const QDict *qdict, QObject **ret_data)
 static void do_info_status_print(Monitor *mon, const QObject *data)
     QDict *qdict;
+    const char *status;
     qdict = qobject_to_qdict(data);
@@ -2631,6 +2632,11 @@  static void do_info_status_print(Monitor *mon, const QObject *data)
         monitor_printf(mon, "paused");
+    status = qdict_get_str(qdict, "status");
+    if (strcmp(status, "paused") && strcmp(status, "running")) {
+        monitor_printf(mon, " (%s)", status);
+    }
     monitor_printf(mon, "\n");