From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MTZ0n-000366-1o for qemu-devel@nongnu.org; Wed, 22 Jul 2009 06:25:25 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MTZ0i-000340-Cu for qemu-devel@nongnu.org; Wed, 22 Jul 2009 06:25:24 -0400 Received: from [199.232.76.173] (port=45251 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MTZ0i-00033x-7W for qemu-devel@nongnu.org; Wed, 22 Jul 2009 06:25:20 -0400 Received: from mx2.redhat.com ([66.187.237.31]:56895) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MTZ0h-000557-Oe for qemu-devel@nongnu.org; Wed, 22 Jul 2009 06:25:20 -0400 Received: from int-mx2.corp.redhat.com (int-mx2.corp.redhat.com [172.16.27.26]) by mx2.redhat.com (8.13.8/8.13.8) with ESMTP id n6MAPJec032600 for ; Wed, 22 Jul 2009 06:25:19 -0400 From: Gerd Hoffmann Date: Wed, 22 Jul 2009 12:25:05 +0200 Message-Id: <1248258307-17071-7-git-send-email-kraxel@redhat.com> In-Reply-To: <1248258307-17071-1-git-send-email-kraxel@redhat.com> References: <1248258307-17071-1-git-send-email-kraxel@redhat.com> Subject: [Qemu-devel] [PATCH 6/8] qemu-option: add parse_option_number List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Gerd Hoffmann Signed-off-by: Gerd Hoffmann --- 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