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 <dgilbert@redhat.com>
Reported-by: William Dauchy <william@gandi.net>
Tested-by: William Dauchy <william@gandi.net>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
(mjt: added commit message by ambru@ and subject prefix)
This commit is contained in:
Dr. David Alan Gilbert 2014-05-06 12:15:55 +01:00 committed by Michael Tokarev
parent 8cd05ab65a
commit 5b9d313e3f
1 changed files with 7 additions and 2 deletions

9
vl.c
View File

@ -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);