Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 4557 → Rev 4558

/branches/network/uspace/srv/net/crc.c
42,7 → 42,7
 
#define CRC_DIVIDER_LE 0xEDB88320
 
uint32_t compute_crc32_le( uint32_t seed, uint8_t * data, int length ){
uint32_t compute_crc32_le( uint32_t seed, uint8_t * data, size_t length ){
int index;
 
while( length >= 8 ){
71,7 → 71,7
return seed;
}
 
uint32_t compute_crc32_be( uint32_t seed, uint8_t * data, int length ){
uint32_t compute_crc32_be( uint32_t seed, uint8_t * data, size_t length ){
int index;
 
while( length >= 8 ){
100,16 → 100,16
return seed;
}
 
uint32_t compute_checksum( uint32_t seed, uint8_t * data, int length ){
int index;
uint32_t compute_checksum( uint32_t seed, uint8_t * data, size_t length ){
size_t index;
 
// sum all the 16 bit fields
for( index = 0; index < length - 1; index += 2 ){
for( index = 0; index + 1 < length; index += 2 ){
seed += ( data[ index ] << 8 ) + data[ index + 1 ];
}
 
// last odd byte with zero padding
if( index == length - 1 ){
if( index + 1 == length ){
seed += data[ index ] << 8;
}