From 67a51bcc96e3e09528ce0b5841f93f511ed1e44f Mon Sep 17 00:00:00 2001 From: Arch Librarian Date: Mon, 20 Sep 2004 16:55:01 +0000 Subject: Patched md5 a bit more Author: jgg Date: 1999-10-25 04:10:02 GMT Patched md5 a bit more --- apt-pkg/contrib/md5.cc | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) (limited to 'apt-pkg/contrib') diff --git a/apt-pkg/contrib/md5.cc b/apt-pkg/contrib/md5.cc index e656f3221..381c38753 100644 --- a/apt-pkg/contrib/md5.cc +++ b/apt-pkg/contrib/md5.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: md5.cc,v 1.4 1999/10/25 03:36:41 jgg Exp $ +// $Id: md5.cc,v 1.5 1999/10/25 04:10:02 jgg Exp $ /* ###################################################################### MD5Sum - MD5 Message Digest Algorithm. @@ -28,8 +28,9 @@ Still in the public domain. The classes use arrays of char that are a specific size. We cast those - arrays to UINT32's and go from there. This allows us to advoid using - config.h in a public header or internally newing memory. + arrays to uint8_t's and go from there. This allows us to advoid using + the uncommon inttypes.h in a public header or internally newing memory. + In theory if C9x becomes nicely accepted ##################################################################### */ /*}}}*/ @@ -44,28 +45,21 @@ #include #include #include -#include +#include // For htonl #include /*}}}*/ // byteSwap - Swap bytes in a buffer /*{{{*/ // --------------------------------------------------------------------- -/* This byteswap function will swap byte in a buffer of data */ -#ifdef WORDS_BIGENDIAN -static void byteSwap(uint32_t *buf, unsigned words) +/* Swap n 32 bit longs in given buffer */ +inline static void byteSwap(uint32_t *buf, unsigned words) { - unsigned char *p = (unsigned char *)buf; - - do + do { - *buf++ = (uint32_t)((unsigned)p[3] << 8 | p[2]) << 16 | - ((unsigned)p[1] << 8 | p[0]); - p += 4; - } while (--words); + *buf++ = htonl(*buf); + } + while (--words); } -#else -#define byteSwap(buf,words) -#endif /*}}}*/ // MD5Transform - Alters an existing MD5 hash /*{{{*/ // --------------------------------------------------------------------- -- cgit v1.2.3