Changeset 918e9910 in mainline for uspace/srv/net/checksum.c


Ignore:
Timestamp:
2010-02-12T13:50:47Z (14 years ago)
Author:
Lukas Mejdrech <lukasmejdrech@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
827d73f
Parents:
4be390b
Message:
  • zero IP checksum flip fix
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/net/checksum.c

    r4be390b r918e9910  
    4646 */
    4747#define CRC_DIVIDER_LE  0xEDB88320
    48 
    49 /** IP checksum value for computed zero checksum.
    50  *  Zero is returned as 0xFFFF (not flipped)
    51  */
    52 #define IP_CHECKSUM_ZERO                        0xFFFFu
    5348
    5449uint32_t compute_crc32_le( uint32_t seed, uint8_t * data, size_t length ){
     
    135130uint16_t flip_checksum( uint16_t checksum ){
    136131        // flip, zero is returned as 0xFFFF (not flipped)
    137         return ( ~ checksum ) ? ( uint16_t ) ( ~ checksum ) : IP_CHECKSUM_ZERO;
     132        checksum = ~ checksum;
     133        return checksum ? checksum : IP_CHECKSUM_ZERO;
    138134}
    139135
Note: See TracChangeset for help on using the changeset viewer.