qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PULL 21/22] blockdev: add a function to parse enum ids fro


From: Kevin Wolf
Subject: [Qemu-devel] [PULL 21/22] blockdev: add a function to parse enum ids from strings
Date: Mon, 19 May 2014 16:22:39 +0200

From: Peter Lieven <address@hidden>

this adds a generic function to recover the enum id of a parameter
given as a string.

Signed-off-by: Peter Lieven <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
---
 blockdev.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/blockdev.c b/blockdev.c
index 7810e9f..78b927f 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -288,6 +288,25 @@ static int parse_block_error_action(const char *buf, bool 
is_read, Error **errp)
     }
 }
 
+static inline int parse_enum_option(const char *lookup[], const char *buf,
+                                    int max, int def, Error **errp)
+{
+    int i;
+
+    if (!buf) {
+        return def;
+    }
+
+    for (i = 0; i < max; i++) {
+        if (!strcmp(buf, lookup[i])) {
+            return i;
+        }
+    }
+
+    error_setg(errp, "invalid parameter value: %s", buf);
+    return def;
+}
+
 static bool check_throttle_config(ThrottleConfig *cfg, Error **errp)
 {
     if (throttle_conflicting(cfg)) {
-- 
1.8.3.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]