Subversion Repositories planix.SVN

Rev

Rev 22 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 22 Rev 26
Line 7... Line 7...
7
letomp(uchar *s, uint n, mpint *b)
7
letomp(uchar *s, uint n, mpint *b)
8
{
8
{
9
	int i=0, m = 0;
9
	int i=0, m = 0;
10
	mpdigit x=0;
10
	mpdigit x=0;
11
 
11
 
12
	if(b == nil)
12
	if(b == nil){
13
		b = mpnew(0);
13
		b = mpnew(0);
-
 
14
		setmalloctag(b, getcallerpc(&s));
-
 
15
	}
14
	mpbits(b, 8*n);
16
	mpbits(b, 8*n);
15
	for(; n > 0; n--){
17
	for(; n > 0; n--){
16
		x |= ((mpdigit)(*s++)) << i;
18
		x |= ((mpdigit)(*s++)) << i;
17
		i += 8;
19
		i += 8;
18
		if(i == Dbits){
20
		if(i == Dbits){
Line 22... Line 24...
22
		}
24
		}
23
	}
25
	}
24
	if(i > 0)
26
	if(i > 0)
25
		b->p[m++] = x;
27
		b->p[m++] = x;
26
	b->top = m;
28
	b->top = m;
-
 
29
	b->sign = 1;
27
	return b;
30
	return mpnorm(b);
28
}
31
}