X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/67a51bcc96e3e09528ce0b5841f93f511ed1e44f..22dcc318d978813b3c4d1ae1a1f41933d0e1d69b:/apt-pkg/contrib/md5.cc diff --git a/apt-pkg/contrib/md5.cc b/apt-pkg/contrib/md5.cc index 381c38753..fded5c864 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.5 1999/10/25 04:10:02 jgg Exp $ +// $Id: md5.cc,v 1.12 2001/05/13 05:15:03 jgg Exp $ /* ###################################################################### MD5Sum - MD5 Message Digest Algorithm. @@ -43,23 +43,31 @@ #include #include -#include #include #include // For htonl #include +#include +#include /*}}}*/ // byteSwap - Swap bytes in a buffer /*{{{*/ // --------------------------------------------------------------------- /* Swap n 32 bit longs in given buffer */ -inline static void byteSwap(uint32_t *buf, unsigned words) +#ifdef WORDS_BIGENDIAN +static void byteSwap(uint32_t *buf, unsigned words) { - do + uint8_t *p = (uint8_t *)buf; + + do { - *buf++ = htonl(*buf); - } - while (--words); + *buf++ = (uint32_t)((unsigned)p[3] << 8 | p[2]) << 16 | + ((unsigned)p[1] << 8 | p[0]); + p += 4; + } while (--words); } +#else +#define byteSwap(buf,words) +#endif /*}}}*/ // MD5Transform - Alters an existing MD5 hash /*{{{*/ // --------------------------------------------------------------------- @@ -183,7 +191,7 @@ MD5SumValue::MD5SumValue() /* Converts the hex string into a set of chars */ bool MD5SumValue::Set(string Str) { - return Hex2Num(Str.begin(),Str.end(),Sum,sizeof(Sum)); + return Hex2Num(Str,Sum,sizeof(Sum)); } /*}}}*/ // MD5SumValue::Value - Convert the number into a string /*{{{*/ @@ -291,8 +299,8 @@ bool MD5Summation::AddFD(int Fd,unsigned long Size) int Res = 0; while (Size != 0) { - Res = read(Fd,Buf,MIN(Size,sizeof(Buf))); - if (Res < 0 || (unsigned)Res != MIN(Size,sizeof(Buf))) + Res = read(Fd,Buf,min(Size,(unsigned long)sizeof(Buf))); + if (Res < 0 || (unsigned)Res != min(Size,(unsigned long)sizeof(Buf))) return false; Size -= Res; Add(Buf,Res);