summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMahmoud Mandour <ma.mandourr@gmail.com>2021-07-30 15:58:08 +0200
committerAlex Bennée <alex.bennee@linaro.org>2021-09-02 11:29:34 +0100
commit8a3eab66e62993228887588d753eefacc918184b (patch)
tree0e5fd45c9a30adaa48206ca50d231aeac45e45ca
parentf698d5ef1cc401805b3eea92908e57be71a3ac05 (diff)
downloadqemu-8a3eab66e62993228887588d753eefacc918184b.zip
plugins/hotblocks: Added correct boolean argument parsing
Signed-off-by: Mahmoud Mandour <ma.mandourr@gmail.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20210730135817.17816-5-ma.mandourr@gmail.com>
-rw-r--r--contrib/plugins/hotblocks.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/contrib/plugins/hotblocks.c b/contrib/plugins/hotblocks.c
index 4b08340143..062200a7a4 100644
--- a/contrib/plugins/hotblocks.c
+++ b/contrib/plugins/hotblocks.c
@@ -133,8 +133,18 @@ QEMU_PLUGIN_EXPORT
int qemu_plugin_install(qemu_plugin_id_t id, const qemu_info_t *info,
int argc, char **argv)
{
- if (argc && strcmp(argv[0], "inline") == 0) {
- do_inline = true;
+ for (int i = 0; i < argc; i++) {
+ char *opt = argv[i];
+ g_autofree char **tokens = g_strsplit(opt, "=", 2);
+ if (g_strcmp0(tokens[0], "inline") == 0) {
+ if (!qemu_plugin_bool_parse(tokens[0], tokens[1], &do_inline)) {
+ fprintf(stderr, "boolean argument parsing failed: %s\n", opt);
+ return -1;
+ }
+ } else {
+ fprintf(stderr, "option parsing failed: %s\n", opt);
+ return -1;
+ }
}
plugin_init();