Skip to content

Commit

Permalink
vl: fix 'name' option to work with -readconfig
Browse files Browse the repository at this point in the history
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)
  • Loading branch information
dagrh authored and Michael Tokarev committed May 23, 2014
1 parent 8cd05ab commit 5b9d313
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions vl.c
Expand Up @@ -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;

Expand All @@ -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)
Expand Down Expand Up @@ -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) {
Expand Down Expand Up @@ -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);
Expand Down

0 comments on commit 5b9d313

Please sign in to comment.