diff options
-rw-r--r-- | lib/lib.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -302,10 +302,11 @@ long long atolx(char *numstr) if (c != numstr && *c && (end = strchr(suffixes, tolower(*c)))) { int shift = end-suffixes-2; + ++c; if (shift==-1) val *= 2; - if (!shift) val *= 512; + else if (!shift) val *= 512; else if (shift>0) { - if (toupper(*++c)=='d') while (shift--) val *= 1000; + if (toupper(*c)=='d') while (shift--) val *= 1000; else val *= 1LL<<(shift*10); } } |