summaryrefslogtreecommitdiff
path: root/src/lib/compute_ip_checksum.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/compute_ip_checksum.c')
-rw-r--r--src/lib/compute_ip_checksum.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/lib/compute_ip_checksum.c b/src/lib/compute_ip_checksum.c
index 347b83f220..9bd3e0a2cb 100644
--- a/src/lib/compute_ip_checksum.c
+++ b/src/lib/compute_ip_checksum.c
@@ -18,15 +18,13 @@ unsigned long compute_ip_checksum(const void *addr, unsigned long length)
for(i = 0; i < length; i++) {
unsigned long v;
v = ptr[i];
- if (i & 1) {
+ if (i & 1)
v <<= 8;
- }
/* Add the new value */
sum += v;
/* Wrap around the carry */
- if (sum > 0xFFFF) {
+ if (sum > 0xFFFF)
sum = (sum + (sum >> 16)) & 0xFFFF;
- }
}
value.byte[0] = sum & 0xff;
value.byte[1] = (sum >> 8) & 0xff;
@@ -46,8 +44,7 @@ unsigned long add_ip_checksums(unsigned long offset, unsigned long sum, unsigned
new = ((new >> 8) & 0xff) | ((new << 8) & 0xff00);
}
checksum = sum + new;
- if (checksum > 0xFFFF) {
+ if (checksum > 0xFFFF)
checksum -= 0xFFFF;
- }
return (~checksum) & 0xFFFF;
}