diff options
author | Goffredo Baroncelli <kreijack@gmail.com> | 2012-10-29 18:53:17 +0100 |
---|---|---|
committer | David Sterba <dsterba@suse.cz> | 2013-01-17 18:27:54 +0100 |
commit | 8f76aee6bc7cd0155ca6a251f6656a5560298f54 (patch) | |
tree | d2b429ed9ad343a9fabad55dc06dd18f2e2ced47 /utils.c | |
parent | 043437d8e1609874018a28996d1878847e57bd55 (diff) |
Move parse_size() to utils.[hc]
Move the function from cmds-filesystem.c and mkfs.c to utils.c
Signed-off-by: Goffredo Baroncelli <kreijack@inwind.it>
Diffstat (limited to 'utils.c')
-rw-r--r-- | utils.c | 26 |
1 files changed, 26 insertions, 0 deletions
@@ -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; +} + |