diff --git a/sys/src/libmp/port/strtomp.c b/sys/src/libmp/port/strtomp.c index 0a9959692..59c7dd76b 100644 --- a/sys/src/libmp/port/strtomp.c +++ b/sys/src/libmp/port/strtomp.c @@ -44,21 +44,23 @@ init(void) } static char* -from16(char *a, mpint *b) +frompow2(char *a, mpint *b, int s) { char *p, *next; int i; mpdigit x; + int sn; + sn = 1<= sn) break; mpbits(b, (p-a)*4); b->top = 0; next = p; while(p > a){ x = 0; - for(i = 0; i < Dbits; i += 4){ + for(i = 0; i < Dbits; i += s){ if(p <= a) break; x |= tab.t16[*(uchar*)--p]<