From 76281a16fbd01adaf823849a9e5ab30b3024ec5c Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Fri, 14 Oct 2011 12:05:09 +0200 Subject: [PATCH] introduce strtoull_suffix function Signed-off-by: Sascha Hauer --- include/common.h | 1 + lib/misc.c | 14 ++++++++++---- lib/vsprintf.c | 1 + 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/include/common.h b/include/common.h index 9287a7dd2..41b99f22c 100644 --- a/include/common.h +++ b/include/common.h @@ -160,6 +160,7 @@ int parse_area_spec(const char *str, ulong *start, ulong *size); /* Just like simple_strtoul(), but this one honors a K/M/G suffix */ unsigned long strtoul_suffix(const char *str, char **endp, int base); +unsigned long long strtoull_suffix(const char *str, char **endp, int base); void start_barebox(void); void shutdown_barebox(void); diff --git a/lib/misc.c b/lib/misc.c index 549b9601c..cdf01857a 100644 --- a/lib/misc.c +++ b/lib/misc.c @@ -27,15 +27,15 @@ #include /* - * Like simple_strtoul() but handles an optional G, M, K or k + * Like simple_strtoull() but handles an optional G, M, K or k * suffix for Gigabyte, Megabyte or Kilobyte */ -unsigned long strtoul_suffix(const char *str, char **endp, int base) +unsigned long long strtoull_suffix(const char *str, char **endp, int base) { - unsigned long val; + unsigned long long val; char *end; - val = simple_strtoul(str, &end, base); + val = simple_strtoull(str, &end, base); switch (*end) { case 'G': @@ -55,6 +55,12 @@ unsigned long strtoul_suffix(const char *str, char **endp, int base) return val; } +EXPORT_SYMBOL(strtoull_suffix); + +unsigned long strtoul_suffix(const char *str, char **endp, int base) +{ + return strtoull_suffix(str, endp, base); +} EXPORT_SYMBOL(strtoul_suffix); /* diff --git a/lib/vsprintf.c b/lib/vsprintf.c index 976351513..17c197334 100644 --- a/lib/vsprintf.c +++ b/lib/vsprintf.c @@ -83,6 +83,7 @@ unsigned long long simple_strtoull (const char *cp, char **endp, unsigned int ba *endp = (char *) cp; return result; } +EXPORT_SYMBOL(simple_strtoll); /* we use this so that we can do without the ctype library */ #define is_digit(c) ((c) >= '0' && (c) <= '9')