All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Dr . David Alan Gilbert" <dgilbert@redhat.com>
Subject: [Qemu-devel] [PULL for-4.1 19/36] monitor: Simplify how -device/device_add print help
Date: Thu, 18 Apr 2019 22:51:18 +0200	[thread overview]
Message-ID: <20190418205135.6686-20-armbru@redhat.com> (raw)
In-Reply-To: <20190418205135.6686-1-armbru@redhat.com>

Commit a95db58f210 added monitor_vfprintf() as an error_printf()
generalized from stderr to arbitrary streams, then used it wrapped in
helper out_printf() to print -device/device_add help to stdout.  Use
qemu_printf() instead, and delete monitor_vfprintf() and out_printf().

Cc: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <20190417190641.26814-16-armbru@redhat.com>
---
 include/monitor/monitor.h |  3 ---
 monitor.c                 | 16 ++++------------
 qdev-monitor.c            | 36 ++++++++++++++----------------------
 3 files changed, 18 insertions(+), 37 deletions(-)

diff --git a/include/monitor/monitor.h b/include/monitor/monitor.h
index e4c3717454..316a168c41 100644
--- a/include/monitor/monitor.h
+++ b/include/monitor/monitor.h
@@ -48,7 +48,4 @@ int monitor_fdset_dup_fd_add(int64_t fdset_id, int dup_fd);
 void monitor_fdset_dup_fd_remove(int dup_fd);
 int monitor_fdset_dup_fd_find(int dup_fd);
 
-int monitor_vfprintf(FILE *stream,
-                     const char *fmt, va_list ap) GCC_FMT_ATTR(2, 0);
-
 #endif /* MONITOR_H */
diff --git a/monitor.c b/monitor.c
index 7b4a78d798..10be8bdb86 100644
--- a/monitor.c
+++ b/monitor.c
@@ -4541,23 +4541,15 @@ static void monitor_readline_flush(void *opaque)
     monitor_flush(opaque);
 }
 
-/*
- * Print to current monitor if we have one, else to stream.
- */
-int monitor_vfprintf(FILE *stream, const char *fmt, va_list ap)
-{
-    if (cur_mon && !monitor_cur_is_qmp()) {
-        return monitor_vprintf(cur_mon, fmt, ap);
-    }
-    return vfprintf(stream, fmt, ap);
-}
-
 /*
  * Print to current monitor if we have one, else to stderr.
  */
 int error_vprintf(const char *fmt, va_list ap)
 {
-    return monitor_vfprintf(stderr, fmt, ap);
+    if (cur_mon && !monitor_cur_is_qmp()) {
+        return monitor_vprintf(cur_mon, fmt, ap);
+    }
+    return vfprintf(stderr, fmt, ap);
 }
 
 int error_vprintf_unless_qmp(const char *fmt, va_list ap)
diff --git a/qdev-monitor.c b/qdev-monitor.c
index d4320986a2..373b9ad445 100644
--- a/qdev-monitor.c
+++ b/qdev-monitor.c
@@ -31,6 +31,7 @@
 #include "qemu/error-report.h"
 #include "qemu/help_option.h"
 #include "qemu/option.h"
+#include "qemu/qemu-print.h"
 #include "sysemu/block-backend.h"
 #include "migration/misc.h"
 
@@ -104,31 +105,22 @@ static bool qdev_class_has_alias(DeviceClass *dc)
     return (qdev_class_get_alias(dc) != NULL);
 }
 
-static void out_printf(const char *fmt, ...)
-{
-    va_list ap;
-
-    va_start(ap, fmt);
-    monitor_vfprintf(stdout, fmt, ap);
-    va_end(ap);
-}
-
 static void qdev_print_devinfo(DeviceClass *dc)
 {
-    out_printf("name \"%s\"", object_class_get_name(OBJECT_CLASS(dc)));
+    qemu_printf("name \"%s\"", object_class_get_name(OBJECT_CLASS(dc)));
     if (dc->bus_type) {
-        out_printf(", bus %s", dc->bus_type);
+        qemu_printf(", bus %s", dc->bus_type);
     }
     if (qdev_class_has_alias(dc)) {
-        out_printf(", alias \"%s\"", qdev_class_get_alias(dc));
+        qemu_printf(", alias \"%s\"", qdev_class_get_alias(dc));
     }
     if (dc->desc) {
-        out_printf(", desc \"%s\"", dc->desc);
+        qemu_printf(", desc \"%s\"", dc->desc);
     }
     if (!dc->user_creatable) {
-        out_printf(", no-user");
+        qemu_printf(", no-user");
     }
-    out_printf("\n");
+    qemu_printf("\n");
 }
 
 static void qdev_print_devinfos(bool show_no_user)
@@ -164,7 +156,7 @@ static void qdev_print_devinfos(bool show_no_user)
                 continue;
             }
             if (!cat_printed) {
-                out_printf("%s%s devices:\n", i ? "\n" : "", cat_name[i]);
+                qemu_printf("%s%s devices:\n", i ? "\n" : "", cat_name[i]);
                 cat_printed = true;
             }
             qdev_print_devinfo(dc);
@@ -286,20 +278,20 @@ int qdev_device_help(QemuOpts *opts)
     }
 
     if (prop_list) {
-        out_printf("%s options:\n", driver);
+        qemu_printf("%s options:\n", driver);
     } else {
-        out_printf("There are no options for %s.\n", driver);
+        qemu_printf("There are no options for %s.\n", driver);
     }
     for (prop = prop_list; prop; prop = prop->next) {
         int len;
-        out_printf("  %s=<%s>%n", prop->value->name, prop->value->type, &len);
+        qemu_printf("  %s=<%s>%n", prop->value->name, prop->value->type, &len);
         if (prop->value->has_description) {
             if (len < 24) {
-                out_printf("%*s", 24 - len, "");
+                qemu_printf("%*s", 24 - len, "");
             }
-            out_printf(" - %s\n", prop->value->description);
+            qemu_printf(" - %s\n", prop->value->description);
         } else {
-            out_printf("\n");
+            qemu_printf("\n");
         }
     }
 
-- 
2.17.2

  parent reply	other threads:[~2019-04-18 20:51 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-18 20:50 [Qemu-devel] [PULL for-4.1 00/36] Error reporting & monitor patches for 2019-04-18 Markus Armbruster
2019-04-18 20:51 ` [Qemu-devel] [PULL for-4.1 01/36] qemu-io: Use error_[gs]et_progname() Markus Armbruster
2019-04-18 20:51 ` [Qemu-devel] [PULL for-4.1 02/36] log: Make glib logging go through QEMU Markus Armbruster
2019-04-18 20:51 ` [Qemu-devel] [PULL for-4.1 03/36] error: Fix error_report_err(), warn_report_err() hint printing Markus Armbruster
2019-04-18 20:51 ` [Qemu-devel] [PULL for-4.1 04/36] util/error: do not free error on error_abort Markus Armbruster
2019-04-18 20:51 ` [Qemu-devel] [PULL for-4.1 05/36] qemu-img: Use error_vreport() in error_exit() Markus Armbruster
2019-04-18 20:51   ` Markus Armbruster
2019-04-18 20:51 ` [Qemu-devel] [PULL for-4.1 06/36] block/ssh: Do not report read/write/flush errors to the user Markus Armbruster
2019-04-18 20:51   ` Markus Armbruster
2019-04-18 20:51 ` [Qemu-devel] [PULL for-4.1 07/36] loader-fit: Wean off error_printf() Markus Armbruster
2019-04-18 20:51   ` Markus Armbruster
2019-04-18 20:51 ` [Qemu-devel] [PULL for-4.1 08/36] mips/boston: Report errors with error_report(), not error_printf() Markus Armbruster
2019-04-18 20:51   ` Markus Armbruster
2019-04-18 20:51 ` [Qemu-devel] [PULL for-4.1 09/36] pci: Report fatal " Markus Armbruster
2019-04-18 20:51   ` Markus Armbruster
2019-04-18 20:51 ` [Qemu-devel] [PULL for-4.1 10/36] hpet: Report warnings with warn_report(), " Markus Armbruster
2019-04-18 20:51   ` Markus Armbruster
2019-04-18 20:51 ` [Qemu-devel] [PULL for-4.1 11/36] vfio: " Markus Armbruster
2019-04-18 20:51 ` [Qemu-devel] [PULL for-4.1 12/36] s390x/kvm: " Markus Armbruster
2019-04-18 20:51 ` [Qemu-devel] [PULL for-4.1 13/36] vl: Make -machine $TYPE, help and -accel help print to stdout Markus Armbruster
2019-04-18 20:51 ` [Qemu-devel] [PULL for-4.1 14/36] monitor error: Make printf()-like functions return a value Markus Armbruster
2019-04-18 20:51 ` [Qemu-devel] [PULL for-4.1 15/36] qemu-print: New qemu_printf(), qemu_vprintf() etc Markus Armbruster
2019-04-18 20:51 ` [Qemu-devel] [PULL for-4.1 16/36] blockdev: Make -drive format=help print to stdout Markus Armbruster
2019-04-18 20:51   ` Markus Armbruster
2019-04-18 20:51 ` [Qemu-devel] [PULL for-4.1 17/36] char: Make -chardev help " Markus Armbruster
2019-04-18 20:51 ` [Qemu-devel] [PULL for-4.1 18/36] char-pty: Print "char device redirected" message " Markus Armbruster
2019-04-18 20:51 ` Markus Armbruster [this message]
2019-04-18 20:51 ` [Qemu-devel] [PULL for-4.1 20/36] include: Include fprintf-fn.h only where needed Markus Armbruster
2019-04-18 20:51 ` [Qemu-devel] [PULL for-4.1 21/36] trace: Simplify how st_print_trace_file_status() prints Markus Armbruster
2019-04-18 20:51 ` [Qemu-devel] [PULL for-4.1 22/36] tcg: Simplify how dump_opcount_info() prints Markus Armbruster
2019-04-18 20:51 ` [Qemu-devel] [PULL for-4.1 23/36] tcg: Simplify how dump_exec_info() prints Markus Armbruster
2019-04-18 20:51 ` [Qemu-devel] [PULL for-4.1 24/36] tcg: Simplify how dump_drift_info() prints Markus Armbruster
2019-04-18 20:51 ` [Qemu-devel] [PULL for-4.1 25/36] qsp: Simplify how qsp_report() prints Markus Armbruster
2019-04-18 20:51 ` [Qemu-devel] [PULL for-4.1 26/36] block/qapi: Clean up how we print to monitor or stdout Markus Armbruster
2019-04-18 20:51 ` [Qemu-devel] [PULL for-4.1 27/36] memory: Clean up how mtree_info() prints Markus Armbruster
2019-04-18 20:51 ` [Qemu-devel] [PULL for-4.1 28/36] target: Simplify how the TARGET_cpu_list() print Markus Armbruster
2019-04-18 20:51 ` [Qemu-devel] [PULL for-4.1 29/36] target: Clean up how the dump_mmu() print Markus Armbruster
2019-04-18 20:51 ` [Qemu-devel] [PULL for-4.1 30/36] target/i386: Simplify how x86_cpu_dump_local_apic_state() prints Markus Armbruster
2019-04-18 20:51 ` [Qemu-devel] [PULL for-4.1 31/36] qom/cpu: Simplify how CPUClass::dump_statistics() prints Markus Armbruster
2019-04-18 20:51 ` [Qemu-devel] [PULL for-4.1 32/36] qemu-print: New qemu_fprintf(), qemu_vfprintf() Markus Armbruster
2019-04-18 20:51 ` [Qemu-devel] [PULL for-4.1 33/36] qom/cpu: Simplify how CPUClass:cpu_dump_state() prints Markus Armbruster
2019-04-18 20:51 ` [Qemu-devel] [PULL for-4.1 34/36] monitor: Clean up how monitor_disas() funnels output to monitor Markus Armbruster
2019-04-18 20:51 ` [Qemu-devel] [PULL for-4.1 35/36] disas: Rename include/disas/bfd.h back to include/disas/dis-asm.h Markus Armbruster
2019-04-18 20:51 ` [Qemu-devel] [PULL for-4.1 36/36] include: Move fprintf_function to disas/ Markus Armbruster
2019-04-18 21:30 ` [Qemu-devel] [PULL for-4.1 00/36] Error reporting & monitor patches for 2019-04-18 no-reply
2019-04-24 12:15 ` Peter Maydell

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=20190418205135.6686-20-armbru@redhat.com \
    --to=armbru@redhat.com \
    --cc=dgilbert@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.