[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH RFC 18/48] error: Include the program name in error
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PATCH RFC 18/48] error: Include the program name in error messages to stderr |
Date: |
Wed, 24 Feb 2010 18:55:30 +0100 |
Signed-off-by: Markus Armbruster <address@hidden>
---
qemu-error.c | 20 +++++++++++++++++++-
qemu-error.h | 1 +
vl.c | 2 ++
3 files changed, 22 insertions(+), 1 deletions(-)
diff --git a/qemu-error.c b/qemu-error.c
index 0778001..b2c0a80 100644
--- a/qemu-error.c
+++ b/qemu-error.c
@@ -113,13 +113,31 @@ void loc_set_none(void)
cur_loc->kind = LOC_NONE;
}
+static const char *progname;
+
+/*
+ * Set the program name for error_print_loc().
+ */
+void error_set_progname(const char *argv0)
+{
+ const char *p = strrchr(argv0, '/');
+ progname = p ? p + 1 : argv0;
+}
+
/*
* Print current location to current monitor if we have one, else to stderr.
*/
void error_print_loc(void)
{
+ const char *sep = "";
+
+ if (!cur_mon) {
+ fprintf(stderr, "%s:", progname);
+ sep = " ";
+ }
switch (cur_loc->kind) {
- default: ;
+ default:
+ error_printf(sep);
}
}
diff --git a/qemu-error.h b/qemu-error.h
index ebf4bf9..22f3c79 100644
--- a/qemu-error.h
+++ b/qemu-error.h
@@ -31,6 +31,7 @@ void loc_set_none(void);
void error_vprintf(const char *fmt, va_list ap);
void error_printf(const char *fmt, ...) __attribute__ ((format(printf, 1, 2)));
void error_print_loc(void);
+void error_set_progname(const char *argv0);
void qemu_error(const char *fmt, ...) __attribute__ ((format(printf, 1, 2)));
void qemu_error_internal(const char *file, int linenr, const char *func,
const char *fmt, ...)
diff --git a/vl.c b/vl.c
index 7d4b234..ac1db72 100644
--- a/vl.c
+++ b/vl.c
@@ -4822,6 +4822,8 @@ int main(int argc, char **argv, char **envp)
int show_vnc_port = 0;
int defconfig = 1;
+ error_set_progname(argv[0]);
+
init_clocks();
qemu_cache_utils_init(envp);
--
1.6.6
- [Qemu-devel] [PATCH RFC 46/48] monitor: New argument type 'O', (continued)
- [Qemu-devel] [PATCH RFC 46/48] monitor: New argument type 'O', Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 43/48] qemu-option: Functions to convert to/from QDict., Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 30/48] qdev: Relax parsing of bus option, Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 13/48] error: Make qemu_error() add a newline, strip it from arguments, Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 26/48] error: Polish human-readable error descriptions, Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 42/48] error: Convert do_device_add() to QError, Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 48/48] monitor: convert do_device_add() to QObject, Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 18/48] error: Include the program name in error messages to stderr,
Markus Armbruster <=
- [Qemu-devel] [PATCH RFC 35/48] monitor: New in_qmp_mon(), Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 38/48] error: New QERR_BUS_NO_HOTPLUG, Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 11/48] error: Move qemu_error & friends into their own header, Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 09/48] block: Simplify usb_msd_initfn() test for "can read bdrv key", Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 06/48] pc: Factor common code out of pc_boot_set() and cmos_init(), Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 08/48] monitor: Separate "default monitor" and "current monitor" cleanly, Markus Armbruster, 2010/02/24
- [Qemu-devel] [PATCH RFC 15/48] error: Don't abuse qemu_error() for non-error in qdev_device_help(), Markus Armbruster, 2010/02/24