Blob
1 #include "os.h"2 #include <mp.h>3 #include "dat.h"5 // convert a little endian byte array (least significant byte first) to an mpint6 mpint*7 letomp(uchar *s, uint n, mpint *b)8 {9 int i=0, m = 0;10 mpdigit x=0;12 if(b == nil)13 b = mpnew(0);14 mpbits(b, 8*n);15 for(; n > 0; n--){16 x |= ((mpdigit)(*s++)) << i;17 i += 8;18 if(i == Dbits){19 b->p[m++] = x;20 i = 0;21 x = 0;22 }23 }24 if(i > 0)25 b->p[m++] = x;26 b->top = m;27 return b;28 }