aboutsummaryrefslogtreecommitdiff
path: root/tests/plugin/bb.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/plugin/bb.c')
-rw-r--r--tests/plugin/bb.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/tests/plugin/bb.c b/tests/plugin/bb.c
index de09bdd..7d470a1 100644
--- a/tests/plugin/bb.c
+++ b/tests/plugin/bb.c
@@ -104,10 +104,17 @@ QEMU_PLUGIN_EXPORT int qemu_plugin_install(qemu_plugin_id_t id,
for (i = 0; i < argc; i++) {
char *opt = argv[i];
- if (g_strcmp0(opt, "inline") == 0) {
- do_inline = true;
- } else if (g_strcmp0(opt, "idle") == 0) {
- idle_report = true;
+ 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 if (g_strcmp0(tokens[0], "idle") == 0) {
+ if (!qemu_plugin_bool_parse(tokens[0], tokens[1], &idle_report)) {
+ fprintf(stderr, "boolean argument parsing failed: %s\n", opt);
+ return -1;
+ }
} else {
fprintf(stderr, "option parsing failed: %s\n", opt);
return -1;