qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH 6/8] qemu-option: add parse_option_number


From: Gerd Hoffmann
Subject: [Qemu-devel] [PATCH 6/8] qemu-option: add parse_option_number
Date: Wed, 22 Jul 2009 12:25:05 +0200

Signed-off-by: Gerd Hoffmann <address@hidden>
---
 qemu-option.c |   18 ++++++++++++++++++
 qemu-option.h |    1 +
 2 files changed, 19 insertions(+), 0 deletions(-)

diff --git a/qemu-option.c b/qemu-option.c
index 390c97d..93a6725 100644
--- a/qemu-option.c
+++ b/qemu-option.c
@@ -118,6 +118,24 @@ int parse_option_bool(const char *name, const char *value, 
int *ret)
     return 0;
 }
 
+int parse_option_number(const char *name, const char *value, uint64_t *ret)
+{
+    char *postfix;
+    uint64_t number;
+
+    if (value != NULL) {
+        number = strtoull(value, &postfix, 0);
+        if (*postfix != '\0') {
+            fprintf(stderr, "Option '%s' needs a number as parameter\n", name);
+            return -1;
+        }
+    } else {
+        fprintf(stderr, "Option '%s' needs a parameter\n", name);
+        return -1;
+    }
+    return 0;
+}
+
 int parse_option_size(const char *name, const char *value, uint64_t *ret)
 {
     char *postfix;
diff --git a/qemu-option.h b/qemu-option.h
index 9525e87..b262ea3 100644
--- a/qemu-option.h
+++ b/qemu-option.h
@@ -48,6 +48,7 @@ const char *get_opt_name(char *buf, int buf_size, const char 
*p, char delim);
 const char *get_opt_value(char *buf, int buf_size, const char *p);
 
 int parse_option_bool(const char *name, const char *value, int *ret);
+int parse_option_number(const char *name, const char *value, uint64_t *ret);
 int parse_option_size(const char *name, const char *value, uint64_t *ret);
 
 /*
-- 
1.6.2.5





reply via email to

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