blob: c4ac369609618d6835ab534239bf4d6ec0126f05 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
expand_to_ascii (int *i, int *o)
{
unsigned x, y, out;
unsigned x1;
/* Big endian code. */
x = *i++;
y = x >> (32 - 13);
out = (y / 91);
out = (out << 8) | (y % 91);
x <<= 13;
y = x >> (32 - 13);
out = (out << 8) | (y / 91);
out = (out << 8) | (y % 91);
*o++ = out + 0x20202020;
/* 6 bits left in x. */
x1 = *i++;
x = (x << 26) | (x1 >> 6);
}
|