[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] qemu-config: extract same logic in *_add_opts() to fill_config_g
From: |
Wang, Lei |
Subject: |
[PATCH] qemu-config: extract same logic in *_add_opts() to fill_config_groups() |
Date: |
Fri, 2 Sep 2022 22:20:28 +0800 |
QEMU use qemu_add_opts() and qemu_add_drive_opts() to add config options
when initialization. Extract the same logic in both functions to a
seperate function fill_config_groups() to reduce code redundency.
Signed-off-by: Wang, Lei <lei4.wang@intel.com>
---
util/qemu-config.c | 39 ++++++++++++++++++++-------------------
1 file changed, 20 insertions(+), 19 deletions(-)
diff --git a/util/qemu-config.c b/util/qemu-config.c
index 433488aa56..3a1c85223a 100644
--- a/util/qemu-config.c
+++ b/util/qemu-config.c
@@ -282,36 +282,37 @@ QemuOptsList *qemu_find_opts_err(const char *group, Error
**errp)
return find_list(vm_config_groups, group, errp);
}
-void qemu_add_drive_opts(QemuOptsList *list)
+static int fill_config_groups(QemuOptsList *groups[], int entries,
+ QemuOptsList *list)
{
- int entries, i;
+ int i;
- entries = ARRAY_SIZE(drive_config_groups);
entries--; /* keep list NULL terminated */
for (i = 0; i < entries; i++) {
- if (drive_config_groups[i] == NULL) {
- drive_config_groups[i] = list;
- return;
+ if (groups[i] == NULL) {
+ groups[i] = list;
+ return 0;
}
}
- fprintf(stderr, "ran out of space in drive_config_groups");
- abort();
+ return -1;
}
-void qemu_add_opts(QemuOptsList *list)
+void qemu_add_drive_opts(QemuOptsList *list)
{
- int entries, i;
+ if (fill_config_groups(drive_config_groups,
ARRAY_SIZE(drive_config_groups),
+ list) < 0) {
+ fprintf(stderr, "ran out of space in drive_config_groups");
+ abort();
+ }
+}
- entries = ARRAY_SIZE(vm_config_groups);
- entries--; /* keep list NULL terminated */
- for (i = 0; i < entries; i++) {
- if (vm_config_groups[i] == NULL) {
- vm_config_groups[i] = list;
- return;
- }
+void qemu_add_opts(QemuOptsList *list)
+{
+ if (fill_config_groups(vm_config_groups, ARRAY_SIZE(vm_config_groups),
+ list) < 0) {
+ fprintf(stderr, "ran out of space in vm_config_groups");
+ abort();
}
- fprintf(stderr, "ran out of space in vm_config_groups");
- abort();
}
/* Returns number of config groups on success, -errno on error */
--
2.37.1
- [PATCH] qemu-config: extract same logic in *_add_opts() to fill_config_groups(),
Wang, Lei <=