Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 154009
b: refs/heads/master
c: 32a9ff9
h: refs/heads/master
i:
  154007: 3142f84
v: v3
  • Loading branch information
Arnd Bergmann committed Jun 19, 2009
1 parent 6f78c8a commit 00b0c62
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 2 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: fcec9bf12442d0cd50d6cee125d168cfc3f37c5e
refs/heads/master: 32a9ff9cc55b42543a84bca90b070df92af72671
10 changes: 9 additions & 1 deletion trunk/lib/checksum.c
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,11 @@ static unsigned int do_csum(const unsigned char *buff, int len)
goto out;
odd = 1 & (unsigned long) buff;
if (odd) {
#ifdef __LITTLE_ENDIAN
result = *buff;
#else
result += (*buff << 8);
#endif
len--;
buff++;
}
Expand All @@ -71,7 +75,7 @@ static unsigned int do_csum(const unsigned char *buff, int len)
if (count) {
unsigned long carry = 0;
do {
unsigned long w = *(unsigned long *) buff;
unsigned long w = *(unsigned int *) buff;
count--;
buff += 4;
result += carry;
Expand All @@ -87,7 +91,11 @@ static unsigned int do_csum(const unsigned char *buff, int len)
}
}
if (len & 1)
#ifdef __LITTLE_ENDIAN
result += *buff;
#else
result += (*buff << 8);
#endif
result = from32to16(result);
if (odd)
result = ((result >> 8) & 0xff) | ((result & 0xff) << 8);
Expand Down

0 comments on commit 00b0c62

Please sign in to comment.