From 8f76aee6bc7cd0155ca6a251f6656a5560298f54 Mon Sep 17 00:00:00 2001 From: Goffredo Baroncelli Date: Mon, 29 Oct 2012 18:53:17 +0100 Subject: Move parse_size() to utils.[hc] Move the function from cmds-filesystem.c and mkfs.c to utils.c Signed-off-by: Goffredo Baroncelli --- utils.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'utils.c') diff --git a/utils.c b/utils.c index 205e6673..705be7bf 100644 --- a/utils.c +++ b/utils.c @@ -1220,3 +1220,29 @@ scan_again: return 0; } +u64 parse_size(char *s) +{ + int len = strlen(s); + char c; + u64 mult = 1; + + if (!isdigit(s[len - 1])) { + c = tolower(s[len - 1]); + switch (c) { + case 'g': + mult *= 1024; + case 'm': + mult *= 1024; + case 'k': + mult *= 1024; + case 'b': + break; + default: + fprintf(stderr, "Unknown size descriptor %c\n", c); + exit(1); + } + s[len - 1] = '\0'; + } + return atoll(s) * mult; +} + -- cgit v1.2.3