for (i=1; i<=w; i++)
bn[j][i] = 0;
- for (i=0; i<b; i++) {
+ for (i=b; i-- ;) {
unsigned char byte = *p++;
- if ((b-i) & 1)
- bn[j][w-i/2] |= byte;
+ if (i & 1)
+ bn[j][1+i/2] |= byte<<8;
else
- bn[j][w-i/2] |= byte<<8;
+ bn[j][1+i/2] |= byte;
}
debug(bn[j]);
p = data;
for (i=1; i<=w; i++)
b1[i] = 0;
- for (i=0; i<key->bytes; i++) {
+ for (i=key->bytes; i-- ;) {
unsigned char byte = *p++;
- if ((key->bytes-i) & 1)
- b1[w-i/2] |= byte;
+ if (i & 1)
+ b1[1+i/2] |= byte<<8;
else
- b1[w-i/2] |= byte<<8;
+ b1[1+i/2] |= byte;
}
debug(b1);
debug(b2);
p = data;
- for (i=0; i<key->bytes; i++) {
+ for (i=key->bytes; i-- ;) {
unsigned char b;
if (i & 1)
- b = b2[w-i/2] & 0xFF;
+ b = b2[1+i/2] >> 8;
else
- b = b2[w-i/2] >> 8;
+ b = b2[1+i/2] & 0xFF;
*p++ = b;
}