diff options
| -rw-r--r-- | ibus.c | 24 |
1 files changed, 11 insertions, 13 deletions
@@ -21,19 +21,17 @@ int CRC16Gen(*IBusFrame frame){ return (~crc); do{ - for (i=0, data=(unsigned int)0xff & *data_p++; - i < 8; - i++, data >>= 1) - { - if ((crc & 0x0001) ^ (data & 0x0001)) - crc = (crc >> 1) ^ POLY; - else crc >>= 1; - } - } while (--length); + for (i=0, data=(unsigned int)0xff & *data_p++;i < 8; i++, data >>= 1){ + if ((crc & 0x0001) ^ (data & 0x0001)) + crc = (crc >> 1) ^ POLY; + else + crc >>= 1; + } + } while (--length); - crc = ~crc; - data = crc; - crc = (crc << 8) | (data >> 8 & 0xff); + crc = ~crc; + data = crc; + crc = (crc << 8) | (data >> 8 & 0xff); - return (crc); + return (crc); } |
