summaryrefslogtreecommitdiff
path: root/lib/checksum.c
diff options
context:
space:
mode:
authorpaul <paul>2005-11-03 09:00:23 +0000
committerpaul <paul>2005-11-03 09:00:23 +0000
commit34204aac424f8c29317d863d64f1c3bb4d241a50 (patch)
treea7ad861d7b3454dbe96b6e7a31d7dbacc4ad24e3 /lib/checksum.c
parent35a60c2d3c217e3b835821a7f6ea458e2eff44cf (diff)
2005-11-03 Paul Jakma <paul.jakma@sun.com>
* zebra.h: BSD BYTE_ORDER define isn't available everywhere, define if needs be. * checksum.h: new file. checksum.c exports in_cksum, provide a header for it. * checksum.c: (in_cksum) callers shouldn't have to know it uses a u_short internally, change to void *. * Makefile.am: Add checksum.h * command.h: remove bogus trailling slash. * md5.c: (general) Update it for the twentieth century. ANSI declarations are widely supported now.. Don't include system headers, only include zebra.h. Use POSIX types (the alternative is to define u_int64_t in a portable way - rest of Quagga needs same cleanup). Make endian-conditional code be compiler conditional rather than preprocessor conditional, so that breakage gets noticed quicker. * md5.h: POSIX types. Get rid of the odd __P() non-ANSI capable compiler compatibility hack.
Diffstat (limited to 'lib/checksum.c')
-rw-r--r--lib/checksum.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/checksum.c b/lib/checksum.c
index 8c0ea521..201da59f 100644
--- a/lib/checksum.c
+++ b/lib/checksum.c
@@ -7,10 +7,12 @@
*/
#include <zebra.h>
+#include "checksum.h"
-int /* return checksum in low-order 16 bits */
-in_cksum(u_short *ptr, int nbytes)
+int /* return checksum in low-order 16 bits */
+in_cksum(void *parg, int nbytes)
{
+ u_short *ptr = parg;
register long sum; /* assumes long == 32 bits */
u_short oddbyte;
register u_short answer; /* assumes u_short == 16 bits */