From 5b9d313e3f820f50129887f0a59e88dc376a8b1a Mon Sep 17 00:00:00 2001 From: "Dr. David Alan Gilbert" Date: Tue, 6 May 2014 12:15:55 +0100 Subject: vl: fix 'name' option to work with -readconfig The 'name' option silently failed when used in config files ( http://lists.gnu.org/archive/html/qemu-devel/2014-04/msg00378.html ) -readconfig stores the configuration read in QemuOpts. Command line option parsing should do the same, and no more. In particular it should not act upon the option. That needs to be done separately, where both command line and -readconfig settings are visible in QemuOpts. Signed-off-by: Dr. David Alan Gilbert Reported-by: William Dauchy Tested-by: William Dauchy Reviewed-by: Markus Armbruster Signed-off-by: Michael Tokarev (mjt: added commit message by ambru@ and subject prefix) --- vl.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'vl.c') diff --git a/vl.c b/vl.c index 709d8cda8d..99b6fc0050 100644 --- a/vl.c +++ b/vl.c @@ -965,7 +965,7 @@ static int parse_sandbox(QemuOpts *opts, void *opaque) return 0; } -static void parse_name(QemuOpts *opts) +static int parse_name(QemuOpts *opts, void *opaque) { const char *proc_name; @@ -978,6 +978,8 @@ static void parse_name(QemuOpts *opts) if (proc_name) { os_set_proc_name(proc_name); } + + return 0; } bool usb_enabled(bool default_usb) @@ -3796,7 +3798,6 @@ int main(int argc, char **argv, char **envp) if (!opts) { exit(1); } - parse_name(opts); break; case QEMU_OPTION_prom_env: if (nb_prom_envs >= MAX_PROM_ENVS) { @@ -3971,6 +3972,10 @@ int main(int argc, char **argv, char **envp) exit(1); } + if (qemu_opts_foreach(qemu_find_opts("name"), parse_name, NULL, 1)) { + exit(1); + } + #ifndef _WIN32 if (qemu_opts_foreach(qemu_find_opts("add-fd"), parse_add_fd, NULL, 1)) { exit(1); -- cgit v1.2.1