From b30d188677456b17c1cd68969e08ddc634cef644 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Tue, 21 Feb 2017 21:13:50 +0100 Subject: util/cutils: Rename qemu_strtoll(), qemu_strtoull() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The name qemu_strtoll() suggests conversion to long long, but it actually converts to int64_t. Rename to qemu_strtoi64(). The name qemu_strtoull() suggests conversion to unsigned long long, but it actually converts to uint64_t. Rename to qemu_strtou64(). Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Reviewed-by: Philippe Mathieu-Daudé Message-Id: <1487708048-2131-7-git-send-email-armbru@redhat.com> --- include/qemu/cutils.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/include/qemu/cutils.h b/include/qemu/cutils.h index 8033929..f922223 100644 --- a/include/qemu/cutils.h +++ b/include/qemu/cutils.h @@ -130,9 +130,9 @@ int qemu_strtol(const char *nptr, const char **endptr, int base, long *result); int qemu_strtoul(const char *nptr, const char **endptr, int base, unsigned long *result); -int qemu_strtoll(const char *nptr, const char **endptr, int base, - int64_t *result); -int qemu_strtoull(const char *nptr, const char **endptr, int base, +int qemu_strtoi64(const char *nptr, const char **endptr, int base, + int64_t *result); +int qemu_strtou64(const char *nptr, const char **endptr, int base, uint64_t *result); int parse_uint(const char *s, unsigned long long *value, char **endptr, -- cgit v1.1 From d2734d2629266006b0413433778474d5801c60be Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Tue, 21 Feb 2017 21:13:58 +0100 Subject: util/cutils: New qemu_strtosz_metric() To parse numbers with metric suffixes, we use qemu_strtosz_suffix_unit(nptr, &eptr, QEMU_STRTOSZ_DEFSUFFIX_B, 1000) Capture this in a new function for legibility: qemu_strtosz_metric(nptr, &eptr) Replace test_qemu_strtosz_suffix_unit() by test_qemu_strtosz_metric(). Rename qemu_strtosz_suffix_unit() to do_strtosz() and give it internal linkage. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Message-Id: <1487708048-2131-15-git-send-email-armbru@redhat.com> --- include/qemu/cutils.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/qemu/cutils.h b/include/qemu/cutils.h index f922223..81613d0 100644 --- a/include/qemu/cutils.h +++ b/include/qemu/cutils.h @@ -156,8 +156,8 @@ int parse_uint_full(const char *s, unsigned long long *value, int base); int64_t qemu_strtosz(const char *nptr, char **end); int64_t qemu_strtosz_suffix(const char *nptr, char **end, const char default_suffix); -int64_t qemu_strtosz_suffix_unit(const char *nptr, char **end, - const char default_suffix, int64_t unit); +int64_t qemu_strtosz_metric(const char *nptr, char **end); + #define K_BYTE (1ULL << 10) #define M_BYTE (1ULL << 20) #define G_BYTE (1ULL << 30) -- cgit v1.1 From e591591b323772eea733de6027f5e8b50692d0ff Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Tue, 21 Feb 2017 21:13:59 +0100 Subject: util/cutils: Rename qemu_strtosz() to qemu_strtosz_MiB() With qemu_strtosz(), no suffix means mebibytes. It's used rarely. I'm going to add a similar function where no suffix means bytes. Rename qemu_strtosz() to qemu_strtosz_MiB() to make the name qemu_strtosz() available for the new function. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Message-Id: <1487708048-2131-16-git-send-email-armbru@redhat.com> --- include/qemu/cutils.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include') diff --git a/include/qemu/cutils.h b/include/qemu/cutils.h index 81613d0..a08b1b0 100644 --- a/include/qemu/cutils.h +++ b/include/qemu/cutils.h @@ -153,9 +153,9 @@ int parse_uint_full(const char *s, unsigned long long *value, int base); #define QEMU_STRTOSZ_DEFSUFFIX_MB 'M' #define QEMU_STRTOSZ_DEFSUFFIX_KB 'K' #define QEMU_STRTOSZ_DEFSUFFIX_B 'B' -int64_t qemu_strtosz(const char *nptr, char **end); int64_t qemu_strtosz_suffix(const char *nptr, char **end, const char default_suffix); +int64_t qemu_strtosz_MiB(const char *nptr, char **end); int64_t qemu_strtosz_metric(const char *nptr, char **end); #define K_BYTE (1ULL << 10) -- cgit v1.1 From 466dea14e677555dd24465aca75d00a3537ad062 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Tue, 21 Feb 2017 21:14:00 +0100 Subject: util/cutils: New qemu_strtosz() Most callers of qemu_strtosz_suffix() pass QEMU_STRTOSZ_DEFSUFFIX_B. Capture the pattern in new qemu_strtosz(). Inline qemu_strtosz_suffix() into its only remaining caller. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Message-Id: <1487708048-2131-17-git-send-email-armbru@redhat.com> --- include/qemu/cutils.h | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) (limited to 'include') diff --git a/include/qemu/cutils.h b/include/qemu/cutils.h index a08b1b0..3fdbb6b 100644 --- a/include/qemu/cutils.h +++ b/include/qemu/cutils.h @@ -139,22 +139,7 @@ int parse_uint(const char *s, unsigned long long *value, char **endptr, int base); int parse_uint_full(const char *s, unsigned long long *value, int base); -/* - * qemu_strtosz() suffixes used to specify the default treatment of an - * argument passed to qemu_strtosz() without an explicit suffix. - * These should be defined using upper case characters in the range - * A-Z, as qemu_strtosz() will use qemu_toupper() on the given argument - * prior to comparison. - */ -#define QEMU_STRTOSZ_DEFSUFFIX_EB 'E' -#define QEMU_STRTOSZ_DEFSUFFIX_PB 'P' -#define QEMU_STRTOSZ_DEFSUFFIX_TB 'T' -#define QEMU_STRTOSZ_DEFSUFFIX_GB 'G' -#define QEMU_STRTOSZ_DEFSUFFIX_MB 'M' -#define QEMU_STRTOSZ_DEFSUFFIX_KB 'K' -#define QEMU_STRTOSZ_DEFSUFFIX_B 'B' -int64_t qemu_strtosz_suffix(const char *nptr, char **end, - const char default_suffix); +int64_t qemu_strtosz(const char *nptr, char **end); int64_t qemu_strtosz_MiB(const char *nptr, char **end); int64_t qemu_strtosz_metric(const char *nptr, char **end); -- cgit v1.1 From f17fd4fdf0df3d2f3444399d04c38d22b9a3e1b7 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Tue, 21 Feb 2017 21:14:06 +0100 Subject: util/cutils: Return qemu_strtosz*() error and value separately This makes qemu_strtosz(), qemu_strtosz_mebi() and qemu_strtosz_metric() similar to qemu_strtoi64(), except negative values are rejected. Cc: Dr. David Alan Gilbert Cc: Eduardo Habkost (maintainer:X86) Cc: Kevin Wolf (supporter:Block layer core) Cc: Max Reitz (supporter:Block layer core) Cc: qemu-block@nongnu.org (open list:Block layer core) Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Reviewed-by: Dr. David Alan Gilbert Message-Id: <1487708048-2131-23-git-send-email-armbru@redhat.com> --- include/qemu/cutils.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/include/qemu/cutils.h b/include/qemu/cutils.h index 3fdbb6b..4c68d5c 100644 --- a/include/qemu/cutils.h +++ b/include/qemu/cutils.h @@ -139,9 +139,9 @@ int parse_uint(const char *s, unsigned long long *value, char **endptr, int base); int parse_uint_full(const char *s, unsigned long long *value, int base); -int64_t qemu_strtosz(const char *nptr, char **end); -int64_t qemu_strtosz_MiB(const char *nptr, char **end); -int64_t qemu_strtosz_metric(const char *nptr, char **end); +int qemu_strtosz(const char *nptr, char **end, int64_t *result); +int qemu_strtosz_MiB(const char *nptr, char **end, int64_t *result); +int qemu_strtosz_metric(const char *nptr, char **end, int64_t *result); #define K_BYTE (1ULL << 10) #define M_BYTE (1ULL << 20) -- cgit v1.1 From f46bfdbfc8f95cf65d7818ef68a801e063c40332 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Tue, 21 Feb 2017 21:14:07 +0100 Subject: util/cutils: Change qemu_strtosz*() from int64_t to uint64_t This will permit its use in parse_option_size(). Cc: Dr. David Alan Gilbert Cc: Eduardo Habkost (maintainer:X86) Cc: Kevin Wolf (supporter:Block layer core) Cc: Max Reitz (supporter:Block layer core) Cc: qemu-block@nongnu.org (open list:Block layer core) Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Reviewed-by: Dr. David Alan Gilbert Message-Id: <1487708048-2131-24-git-send-email-armbru@redhat.com> --- include/qemu/cutils.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/include/qemu/cutils.h b/include/qemu/cutils.h index 4c68d5c..f0878ea 100644 --- a/include/qemu/cutils.h +++ b/include/qemu/cutils.h @@ -139,9 +139,9 @@ int parse_uint(const char *s, unsigned long long *value, char **endptr, int base); int parse_uint_full(const char *s, unsigned long long *value, int base); -int qemu_strtosz(const char *nptr, char **end, int64_t *result); -int qemu_strtosz_MiB(const char *nptr, char **end, int64_t *result); -int qemu_strtosz_metric(const char *nptr, char **end, int64_t *result); +int qemu_strtosz(const char *nptr, char **end, uint64_t *result); +int qemu_strtosz_MiB(const char *nptr, char **end, uint64_t *result); +int qemu_strtosz_metric(const char *nptr, char **end, uint64_t *result); #define K_BYTE (1ULL << 10) #define M_BYTE (1ULL << 20) -- cgit v1.1