xref: /plan9/sys/src/cmd/venti/srv/unittoull.c (revision 368c31ab13393dea083228fdd1c3445076f83a4b)
1 #include "stdinc.h"
2 
3 #define TWID64	((u64int)~(u64int)0)
4 
5 u64int
unittoull(char * s)6 unittoull(char *s)
7 {
8 	char *es;
9 	u64int n;
10 
11 	if(s == nil)
12 		return TWID64;
13 	n = strtoul(s, &es, 0);
14 	if(*es == 'k' || *es == 'K'){
15 		n *= 1024;
16 		es++;
17 	}else if(*es == 'm' || *es == 'M'){
18 		n *= 1024*1024;
19 		es++;
20 	}else if(*es == 'g' || *es == 'G'){
21 		n *= 1024*1024*1024;
22 		es++;
23 	}else if(*es == 't' || *es == 'T'){
24 		n *= 1024*1024;
25 		n *= 1024*1024;
26 	}
27 	if(*es != '\0')
28 		return TWID64;
29 	return n;
30 }
31