Repository : ssh://darcs.haskell.org//srv/darcs/packages/base On branch : master
https://github.com/ghc/packages-base/commit/749730c1617641ef0fba03f2703f99fa5c24f3d4 >--------------------------------------------------------------- commit 749730c1617641ef0fba03f2703f99fa5c24f3d4 Author: Simon Marlow <[email protected]> Date: Tue May 21 09:35:29 2013 +0100 Add an __hsbase_ prefix to the MD5 symbols (#7914) >--------------------------------------------------------------- GHC/Fingerprint.hs | 6 +++--- cbits/md5.c | 26 +++++++++++++------------- include/md5.h | 8 ++++---- 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/GHC/Fingerprint.hs b/GHC/Fingerprint.hs index d1b3831..ba3604f 100644 --- a/GHC/Fingerprint.hs +++ b/GHC/Fingerprint.hs @@ -69,10 +69,10 @@ fingerprintString str = unsafeDupablePerformIO $ data MD5Context -foreign import ccall unsafe "MD5Init" +foreign import ccall unsafe "__hsbase_MD5Init" c_MD5Init :: Ptr MD5Context -> IO () -foreign import ccall unsafe "MD5Update" +foreign import ccall unsafe "__hsbase_MD5Update" c_MD5Update :: Ptr MD5Context -> Ptr Word8 -> CInt -> IO () -foreign import ccall unsafe "MD5Final" +foreign import ccall unsafe "__hsbase_MD5Final" c_MD5Final :: Ptr Word8 -> Ptr MD5Context -> IO () diff --git a/cbits/md5.c b/cbits/md5.c index c928316..0c019be 100644 --- a/cbits/md5.c +++ b/cbits/md5.c @@ -19,17 +19,17 @@ #include "md5.h" #include <string.h> -void MD5Init(struct MD5Context *context); -void MD5Update(struct MD5Context *context, byte const *buf, int len); -void MD5Final(byte digest[16], struct MD5Context *context); -void MD5Transform(word32 buf[4], word32 const in[16]); +void __hsbase_MD5Init(struct MD5Context *context); +void __hsbase_MD5Update(struct MD5Context *context, byte const *buf, int len); +void __hsbase_MD5Final(byte digest[16], struct MD5Context *context); +void __hsbase_MD5Transform(word32 buf[4], word32 const in[16]); /* * Shuffle the bytes into little-endian order within words, as per the * MD5 spec. Note: this code works regardless of the byte order. */ -void +static void byteSwap(word32 *buf, unsigned words) { byte *p = (byte *)buf; @@ -46,7 +46,7 @@ byteSwap(word32 *buf, unsigned words) * initialization constants. */ void -MD5Init(struct MD5Context *ctx) +__hsbase_MD5Init(struct MD5Context *ctx) { ctx->buf[0] = 0x67452301; ctx->buf[1] = 0xefcdab89; @@ -62,7 +62,7 @@ MD5Init(struct MD5Context *ctx) * of bytes. */ void -MD5Update(struct MD5Context *ctx, byte const *buf, int len) +__hsbase_MD5Update(struct MD5Context *ctx, byte const *buf, int len) { word32 t; @@ -80,7 +80,7 @@ MD5Update(struct MD5Context *ctx, byte const *buf, int len) /* First chunk is an odd size */ memcpy((byte *)ctx->in + 64 - (unsigned)t, buf, (unsigned)t); byteSwap(ctx->in, 16); - MD5Transform(ctx->buf, ctx->in); + __hsbase_MD5Transform(ctx->buf, ctx->in); buf += (unsigned)t; len -= (unsigned)t; @@ -88,7 +88,7 @@ MD5Update(struct MD5Context *ctx, byte const *buf, int len) while (len >= 64) { memcpy(ctx->in, buf, 64); byteSwap(ctx->in, 16); - MD5Transform(ctx->buf, ctx->in); + __hsbase_MD5Transform(ctx->buf, ctx->in); buf += 64; len -= 64; } @@ -102,7 +102,7 @@ MD5Update(struct MD5Context *ctx, byte const *buf, int len) * 1 0* (64-bit count of bits processed, MSB-first) */ void -MD5Final(byte digest[16], struct MD5Context *ctx) +__hsbase_MD5Final(byte digest[16], struct MD5Context *ctx) { int count = (int)(ctx->bytes[0] & 0x3f); /* Bytes in ctx->in */ byte *p = (byte *)ctx->in + count; /* First unused byte */ @@ -116,7 +116,7 @@ MD5Final(byte digest[16], struct MD5Context *ctx) if (count < 0) { /* Padding forces an extra block */ memset(p, 0, count+8); byteSwap(ctx->in, 16); - MD5Transform(ctx->buf, ctx->in); + __hsbase_MD5Transform(ctx->buf, ctx->in); p = (byte *)ctx->in; count = 56; } @@ -126,7 +126,7 @@ MD5Final(byte digest[16], struct MD5Context *ctx) /* Append length in bits and transform */ ctx->in[14] = ctx->bytes[0] << 3; ctx->in[15] = ctx->bytes[1] << 3 | ctx->bytes[0] >> 29; - MD5Transform(ctx->buf, ctx->in); + __hsbase_MD5Transform(ctx->buf, ctx->in); byteSwap(ctx->buf, 4); memcpy(digest, ctx->buf, 16); @@ -153,7 +153,7 @@ MD5Final(byte digest[16], struct MD5Context *ctx) */ void -MD5Transform(word32 buf[4], word32 const in[16]) +__hsbase_MD5Transform(word32 buf[4], word32 const in[16]) { register word32 a, b, c, d; diff --git a/include/md5.h b/include/md5.h index 8d375df..486a96c 100644 --- a/include/md5.h +++ b/include/md5.h @@ -13,10 +13,10 @@ struct MD5Context { word32 in[16]; }; -void MD5Init(struct MD5Context *context); -void MD5Update(struct MD5Context *context, byte const *buf, int len); -void MD5Final(byte digest[16], struct MD5Context *context); -void MD5Transform(word32 buf[4], word32 const in[16]); +void __hsbase_MD5Init(struct MD5Context *context); +void __hsbase_MD5Update(struct MD5Context *context, byte const *buf, int len); +void __hsbase_MD5Final(byte digest[16], struct MD5Context *context); +void __hsbase_MD5Transform(word32 buf[4], word32 const in[16]); #endif /* _MD5_H */ _______________________________________________ ghc-commits mailing list [email protected] http://www.haskell.org/mailman/listinfo/ghc-commits
