diff options
| author | Peter Maydell <peter.maydell@linaro.org> | 2017-10-10 13:25:46 +0100 |
|---|---|---|
| committer | Peter Maydell <peter.maydell@linaro.org> | 2017-10-10 13:25:46 +0100 |
| commit | 567d0a19c7998fa366598b83d5a6e5f0759d3ea9 (patch) | |
| tree | 7cac6341df37f80a05a7d71bdabe1ff3892c9994 /util/qemu-config.c | |
| parent | 530049bc1dcc24c1178a29d99ca08b6dd08413e0 (diff) | |
| parent | e0dd5fd41a1a38766009f442967fab700d2d0550 (diff) | |
| download | focaccia-qemu-567d0a19c7998fa366598b83d5a6e5f0759d3ea9.tar.gz focaccia-qemu-567d0a19c7998fa366598b83d5a6e5f0759d3ea9.zip | |
Merge remote-tracking branch 'remotes/ehabkost/tags/x86-and-machine-pull-request' into staging
x86 and machine queue, 2017-10-09 Includes x86, QOM, CPU, and option/config parsing patches. Highlights: * Deprecation of -nodefconfig option; * MachineClass::valid_cpu_types field. # gpg: Signature made Tue 10 Oct 2017 03:31:33 BST # gpg: using RSA key 0x2807936F984DC5A6 # gpg: Good signature from "Eduardo Habkost <ehabkost@redhat.com>" # Primary key fingerprint: 5A32 2FD5 ABC4 D3DB ACCF D1AA 2807 936F 984D C5A6 * remotes/ehabkost/tags/x86-and-machine-pull-request: x86: Correct translation of some rdgsbase and wrgsbase encodings vl: exit if maxcpus is negative qom: update doc comment for type_register[_static]() config: qemu_config_parse() return number of config groups qemu-options: Deprecate -nodefconfig vl: Eliminate defconfig variable machine: Add a valid_cpu_types property qom/cpu: move cpu_model null check to cpu_class_by_name() Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'util/qemu-config.c')
| -rw-r--r-- | util/qemu-config.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/util/qemu-config.c b/util/qemu-config.c index 405dd1a1d7..99b0e46fa3 100644 --- a/util/qemu-config.c +++ b/util/qemu-config.c @@ -385,6 +385,7 @@ void qemu_config_write(FILE *fp) } } +/* Returns number of config groups on success, -errno on error */ int qemu_config_parse(FILE *fp, QemuOptsList **lists, const char *fname) { char line[1024], group[64], id[64], arg[64], value[1024]; @@ -392,7 +393,8 @@ int qemu_config_parse(FILE *fp, QemuOptsList **lists, const char *fname) QemuOptsList *list = NULL; Error *local_err = NULL; QemuOpts *opts = NULL; - int res = -1, lno = 0; + int res = -EINVAL, lno = 0; + int count = 0; loc_push_none(&loc); while (fgets(line, sizeof(line), fp) != NULL) { @@ -413,6 +415,7 @@ int qemu_config_parse(FILE *fp, QemuOptsList **lists, const char *fname) goto out; } opts = qemu_opts_create(list, id, 1, NULL); + count++; continue; } if (sscanf(line, "[%63[^]]]", group) == 1) { @@ -423,6 +426,7 @@ int qemu_config_parse(FILE *fp, QemuOptsList **lists, const char *fname) goto out; } opts = qemu_opts_create(list, NULL, 0, &error_abort); + count++; continue; } value[0] = '\0'; @@ -447,7 +451,7 @@ int qemu_config_parse(FILE *fp, QemuOptsList **lists, const char *fname) error_report("error reading file"); goto out; } - res = 0; + res = count; out: loc_pop(&loc); return res; @@ -464,12 +468,7 @@ int qemu_read_config_file(const char *filename) ret = qemu_config_parse(f, vm_config_groups, filename); fclose(f); - - if (ret == 0) { - return 0; - } else { - return -EINVAL; - } + return ret; } static void config_parse_qdict_section(QDict *options, QemuOptsList *opts, |