| void | |
| 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); | |
| } |