]> xenbits.xensource.com Git - qemu-xen.git/commitdiff
plugin/loader: handle basic help query
authorAlex Bennée <alex.bennee@linaro.org>
Mon, 29 Jul 2024 14:44:14 +0000 (15:44 +0100)
committerAlex Bennée <alex.bennee@linaro.org>
Tue, 30 Jul 2024 10:44:21 +0000 (11:44 +0100)
As the list of options isn't fixed we do all the parsing by hand.
Without any named arguments we automatically fill the "file" option
with the value give so check if it is requesting help and dump some
basic usage text.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240729144414.830369-15-alex.bennee@linaro.org>

plugins/loader.c

index 513a429c57d281825b9a4d8b4466259822c4e542..ebc01da9c6ec2e2c451577bfcb68a889413b9b7e 100644 (file)
@@ -18,6 +18,7 @@
 #include "qemu/osdep.h"
 #include "qemu/error-report.h"
 #include "qemu/config-file.h"
+#include "qemu/help_option.h"
 #include "qapi/error.h"
 #include "qemu/lockable.h"
 #include "qemu/option.h"
@@ -98,7 +99,12 @@ static int plugin_add(void *opaque, const char *name, const char *value,
     bool is_on;
     char *fullarg;
 
-    if (strcmp(name, "file") == 0) {
+    if (is_help_option(value)) {
+        printf("Plugin options\n");
+        printf("  file=<path/to/plugin.so>\n");
+        printf("  plugin specific arguments\n");
+        exit(0);
+    } else if (strcmp(name, "file") == 0) {
         if (strcmp(value, "") == 0) {
             error_setg(errp, "requires a non-empty argument");
             return 1;