diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2013-11-23 01:05:33 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2013-11-23 01:05:33 +0100 |
commit | 2f9ae0f8ac8610e13ced184847b57b87fe5db580 (patch) | |
tree | f9ad2223d518585a2cfe9ea1c73e1e37d07bf637 /sys/src/cmd/unix/drawterm/libc/strtoll.c | |
parent | ea5797c0731203c09ec5fb7172e77eab2750f1a9 (diff) |
removing (outdated) drawterm
drawterm is much better maintained by russ cox,
so removing this outdated copy.
for a more recent version, go to:
http://swtch.com/drawterm/
Diffstat (limited to 'sys/src/cmd/unix/drawterm/libc/strtoll.c')
-rw-r--r-- | sys/src/cmd/unix/drawterm/libc/strtoll.c | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/sys/src/cmd/unix/drawterm/libc/strtoll.c b/sys/src/cmd/unix/drawterm/libc/strtoll.c deleted file mode 100644 index 77e9372b6..000000000 --- a/sys/src/cmd/unix/drawterm/libc/strtoll.c +++ /dev/null @@ -1,93 +0,0 @@ -#include <u.h> -#include <libc.h> -#define VLONG_MAX ((vlong)~(((uvlong)1)<<63)) -#define VLONG_MIN ((vlong)(((uvlong)1)<<63)) -vlong -strtoll(const char *nptr, char **endptr, int base) -{ - char *p; - vlong n, nn, m; - int c, ovfl, v, neg, ndig; - p = (char*)nptr; - neg = 0; - n = 0; - ndig = 0; - ovfl = 0; - /* - * White space - */ - for(;; p++) { - switch(*p) { - case ' ': - case '\t': - case '\n': - case '\f': - case '\r': - case '\v': - continue; - } - break; - } - /* - * Sign - */ - if(*p=='-' || *p=='+') - if(*p++ == '-') - neg = 1; - /* - * Base - */ - if(base==0){ - base = 10; - if(*p == '0') { - base = 8; - if(p[1]=='x' || p[1]=='X') { - p += 2; - base = 16; - } - } - } else - if(base==16 && *p=='0') { - if(p[1]=='x' || p[1]=='X') - p += 2; - } else - if(base<0 || 36<base) - goto Return; - /* - * Non-empty sequence of digits - */ - m = VLONG_MAX/base; - for(;; p++,ndig++) { - c = *p; - v = base; - if('0'<=c && c<='9') - v = c - '0'; - else - if('a'<=c && c<='z') - v = c - 'a' + 10; - else - if('A'<=c && c<='Z') - v = c - 'A' + 10; - if(v >= base) - break; - if(n > m) - ovfl = 1; - nn = n*base + v; - if(nn < n) - ovfl = 1; - n = nn; - } -Return: - if(ndig == 0) - p = (char*)nptr; - if(endptr) - *endptr = p; - if(ovfl){ - if(neg) - return VLONG_MIN; - return VLONG_MAX; - } - if(neg) - return -n; - return n; -} |