[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 2/5] vl: Reset location after handling command-line a
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PULL 2/5] vl: Reset location after handling command-line arguments |
Date: |
Fri, 19 Feb 2016 14:27:46 +0100 |
From: Eduardo Habkost <address@hidden>
After looping through all command-line arguments, error location
info becomes obsolete, and any function calling error_report()
will print misleading information. This breaks error reporting
for some option handling, like:
$ qemu-system-x86_64 -icount rr=x -vnc :0
qemu-system-x86_64: -vnc :0: Invalid icount rr option: x
$ qemu-system-x86_64 -m size= -vnc :0
qemu-system-x86_64: -vnc :0: missing 'size' option value
Fix this by resetting location info as soon as we exit the
command-line handling loop.
With this, replay_configure() and set_memory_options() won't
print any location info yet, but at least they won't print
incorrect information.
Signed-off-by: Eduardo Habkost <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Laszlo Ersek <address@hidden>
["Do not insert code here" comment added to prevent regressions]
Signed-off-by: Markus Armbruster <address@hidden>
---
vl.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/vl.c b/vl.c
index 226bdeb..bf0ef90 100644
--- a/vl.c
+++ b/vl.c
@@ -4008,6 +4008,11 @@ int main(int argc, char **argv, char **envp)
}
}
}
+ /*
+ * Clear error location left behind by the loop.
+ * Best done right after the loop. Do not insert code here!
+ */
+ loc_set_none();
replay_configure(icount_opts);
@@ -4015,8 +4020,6 @@ int main(int argc, char **argv, char **envp)
set_memory_options(&ram_slots, &maxram_size, machine_class);
- loc_set_none();
-
os_daemonize();
if (qemu_init_main_loop(&main_loop_err)) {
--
2.4.3
- [Qemu-devel] [PULL 0/5] Error reporting patches for 2016-02-19, Markus Armbruster, 2016/02/19
- [Qemu-devel] [PULL 5/5] vl: Clean up machine selection in main()., Markus Armbruster, 2016/02/19
- [Qemu-devel] [PULL 4/5] vl: Set error location when parsing memory options, Markus Armbruster, 2016/02/19
- [Qemu-devel] [PULL 2/5] vl: Reset location after handling command-line arguments,
Markus Armbruster <=
- [Qemu-devel] [PULL 3/5] replay: Set error location properly when parsing options, Markus Armbruster, 2016/02/19
- [Qemu-devel] [PULL 1/5] vl.c: Fix regression in machine error message, Markus Armbruster, 2016/02/19
- Re: [Qemu-devel] [PULL 0/5] Error reporting patches for 2016-02-19, Peter Maydell, 2016/02/19