plan9port/src/cmd/venti/srv/unittoull.c

31 lines
471 B
C
Raw Normal View History

2005-07-12 15:23:36 +00:00
#include "stdinc.h"
#define TWID64 ((u64int)~(u64int)0)
u64int
unittoull(char *s)
{
char *es;
u64int n;
if(s == nil)
return TWID64;
n = strtoul(s, &es, 0);
if(*es == 'k' || *es == 'K'){
n *= 1024;
es++;
}else if(*es == 'm' || *es == 'M'){
n *= 1024*1024;
es++;
}else if(*es == 'g' || *es == 'G'){
n *= 1024*1024*1024;
es++;
}else if(*es == 't' || *es == 'T'){
n *= 1024*1024;
n *= 1024*1024;
}
if(*es != '\0')
return TWID64;
return n;
}