Blame


1 a0d146ed 2005-07-12 devnull #include "stdinc.h"
2 a0d146ed 2005-07-12 devnull
3 a0d146ed 2005-07-12 devnull #define TWID64 ((u64int)~(u64int)0)
4 a0d146ed 2005-07-12 devnull
5 a0d146ed 2005-07-12 devnull u64int
6 a0d146ed 2005-07-12 devnull unittoull(char *s)
7 a0d146ed 2005-07-12 devnull {
8 a0d146ed 2005-07-12 devnull char *es;
9 a0d146ed 2005-07-12 devnull u64int n;
10 a0d146ed 2005-07-12 devnull
11 a0d146ed 2005-07-12 devnull if(s == nil)
12 a0d146ed 2005-07-12 devnull return TWID64;
13 a0d146ed 2005-07-12 devnull n = strtoul(s, &es, 0);
14 a0d146ed 2005-07-12 devnull if(*es == 'k' || *es == 'K'){
15 a0d146ed 2005-07-12 devnull n *= 1024;
16 a0d146ed 2005-07-12 devnull es++;
17 a0d146ed 2005-07-12 devnull }else if(*es == 'm' || *es == 'M'){
18 a0d146ed 2005-07-12 devnull n *= 1024*1024;
19 a0d146ed 2005-07-12 devnull es++;
20 a0d146ed 2005-07-12 devnull }else if(*es == 'g' || *es == 'G'){
21 a0d146ed 2005-07-12 devnull n *= 1024*1024*1024;
22 a0d146ed 2005-07-12 devnull es++;
23 a0d146ed 2005-07-12 devnull }else if(*es == 't' || *es == 'T'){
24 a0d146ed 2005-07-12 devnull n *= 1024*1024;
25 a0d146ed 2005-07-12 devnull n *= 1024*1024;
26 a0d146ed 2005-07-12 devnull }
27 a0d146ed 2005-07-12 devnull if(*es != '\0')
28 a0d146ed 2005-07-12 devnull return TWID64;
29 a0d146ed 2005-07-12 devnull return n;
30 a0d146ed 2005-07-12 devnull }