summaryrefslogtreecommitdiff
path: root/lib/strto.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/strto.c')
-rw-r--r--lib/strto.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/lib/strto.c b/lib/strto.c
index 7f6076909a..b7fc31d6e5 100644
--- a/lib/strto.c
+++ b/lib/strto.c
@@ -85,14 +85,13 @@ long simple_strtol(const char *cp, char **endp, unsigned int base)
unsigned long ustrtoul(const char *cp, char **endp, unsigned int base)
{
unsigned long result = simple_strtoul(cp, endp, base);
- switch (**endp) {
- case 'G':
+ switch (tolower(**endp)) {
+ case 'g':
result *= 1024;
/* fall through */
- case 'M':
+ case 'm':
result *= 1024;
/* fall through */
- case 'K':
case 'k':
result *= 1024;
if ((*endp)[1] == 'i') {
@@ -108,14 +107,13 @@ unsigned long ustrtoul(const char *cp, char **endp, unsigned int base)
unsigned long long ustrtoull(const char *cp, char **endp, unsigned int base)
{
unsigned long long result = simple_strtoull(cp, endp, base);
- switch (**endp) {
- case 'G':
+ switch (tolower(**endp)) {
+ case 'g':
result *= 1024;
/* fall through */
- case 'M':
+ case 'm':
result *= 1024;
/* fall through */
- case 'K':
case 'k':
result *= 1024;
if ((*endp)[1] == 'i') {