Commit f73440f536 for qemu.org
commit f73440f5361bf7c86694aa5c3f8c482d9e2b264a
Author: Bin Guo <guobin@linux.alibaba.com>
Date: Wed Apr 29 14:20:04 2026 +0800
system/vl: inline qemu_opts_parse_noisily() result checks
In qemu_init()'s option parsing switch, several cases assigned the
return value of qemu_opts_parse_noisily() to the shared 'opts'
variable solely to check for NULL, without using the pointer
afterwards. Inline the call directly into the if-condition, matching
the style already used by QEMU_OPTION_action.
This affects the following options:
-drive, -numa, -iscsi, -m, -mon, -chardev, -fsdev, -fwcfg
Cases where the returned QemuOpts* is subsequently used (e.g.
-acpitable, -smbios, -virtfs) are left unchanged.
Signed-off-by: Bin Guo <guobin@linux.alibaba.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20260429062004.36582-4-guobin@linux.alibaba.com>
[PMD: Reduce @opts declaration to innermost block]
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
diff --git a/system/vl.c b/system/vl.c
index 705f0d3a4a..d2f4044e5d 100644
--- a/system/vl.c
+++ b/system/vl.c
@@ -2842,7 +2842,6 @@ void qmp_x_exit_preconfig(Error **errp)
void qemu_init(int argc, char **argv)
{
- QemuOpts *opts;
QemuOpts *icount_opts = NULL, *accel_opts = NULL;
QemuOptsList *olist;
int optind;
@@ -2928,6 +2927,7 @@ void qemu_init(int argc, char **argv)
drive_add(IF_DEFAULT, 0, argv[optind++], HD_OPTS);
} else {
const QEMUOption *popt;
+ QemuOpts *opts;
popt = lookup_opt(argc, argv, &optarg, &optind);
if (!qemu_arch_available(popt->arch_mask)) {
@@ -2963,9 +2963,8 @@ void qemu_init(int argc, char **argv)
break;
}
case QEMU_OPTION_drive:
- opts = qemu_opts_parse_noisily(qemu_find_opts("drive"),
- optarg, false);
- if (opts == NULL) {
+ if (!qemu_opts_parse_noisily(qemu_find_opts("drive"),
+ optarg, false)) {
exit(1);
}
break;
@@ -2990,9 +2989,8 @@ void qemu_init(int argc, char **argv)
replay_add_blocker("-snapshot");
break;
case QEMU_OPTION_numa:
- opts = qemu_opts_parse_noisily(qemu_find_opts("numa"),
- optarg, true);
- if (!opts) {
+ if (!qemu_opts_parse_noisily(qemu_find_opts("numa"),
+ optarg, true)) {
exit(1);
}
break;
@@ -3051,9 +3049,8 @@ void qemu_init(int argc, char **argv)
break;
#ifdef CONFIG_LIBISCSI
case QEMU_OPTION_iscsi:
- opts = qemu_opts_parse_noisily(qemu_find_opts("iscsi"),
- optarg, false);
- if (!opts) {
+ if (!qemu_opts_parse_noisily(qemu_find_opts("iscsi"),
+ optarg, false)) {
exit(1);
}
break;
@@ -3106,8 +3103,8 @@ void qemu_init(int argc, char **argv)
exit(0);
break;
case QEMU_OPTION_m:
- opts = qemu_opts_parse_noisily(qemu_find_opts("memory"), optarg, true);
- if (opts == NULL) {
+ if (!qemu_opts_parse_noisily(qemu_find_opts("memory"),
+ optarg, true)) {
exit(1);
}
break;
@@ -3228,17 +3225,15 @@ void qemu_init(int argc, char **argv)
default_monitor = 0;
break;
case QEMU_OPTION_mon:
- opts = qemu_opts_parse_noisily(qemu_find_opts("mon"), optarg,
- true);
- if (!opts) {
+ if (!qemu_opts_parse_noisily(qemu_find_opts("mon"), optarg,
+ true)) {
exit(1);
}
default_monitor = 0;
break;
case QEMU_OPTION_chardev:
- opts = qemu_opts_parse_noisily(qemu_find_opts("chardev"),
- optarg, true);
- if (!opts) {
+ if (!qemu_opts_parse_noisily(qemu_find_opts("chardev"),
+ optarg, true)) {
exit(1);
}
break;
@@ -3248,8 +3243,7 @@ void qemu_init(int argc, char **argv)
error_report("fsdev support is disabled");
exit(1);
}
- opts = qemu_opts_parse_noisily(olist, optarg, true);
- if (!opts) {
+ if (!qemu_opts_parse_noisily(olist, optarg, true)) {
exit(1);
}
break;
@@ -3388,9 +3382,8 @@ void qemu_init(int argc, char **argv)
smbios_entry_add(opts, &error_fatal);
break;
case QEMU_OPTION_fwcfg:
- opts = qemu_opts_parse_noisily(qemu_find_opts("fw_cfg"),
- optarg, true);
- if (opts == NULL) {
+ if (!qemu_opts_parse_noisily(qemu_find_opts("fw_cfg"),
+ optarg, true)) {
exit(1);
}
break;