diff options
author | kan <kan@FreeBSD.org> | 2003-07-11 03:40:53 +0000 |
---|---|---|
committer | kan <kan@FreeBSD.org> | 2003-07-11 03:40:53 +0000 |
commit | b2a8872fbe1ec1c49094559ac7b78e6ea4ab7180 (patch) | |
tree | f6b0610f4a17fd26aa234354f050080f789861a4 /contrib/gcc/md5.c | |
parent | 52e69d78eee5612ac195e0701a5cebe40d1ab0e1 (diff) | |
download | FreeBSD-src-b2a8872fbe1ec1c49094559ac7b78e6ea4ab7180.zip FreeBSD-src-b2a8872fbe1ec1c49094559ac7b78e6ea4ab7180.tar.gz |
Gcc 3.3.1-pre as of 2003-07-11.
Diffstat (limited to 'contrib/gcc/md5.c')
-rw-r--r-- | contrib/gcc/md5.c | 114 |
1 files changed, 61 insertions, 53 deletions
diff --git a/contrib/gcc/md5.c b/contrib/gcc/md5.c index 9450586..e458f2a 100644 --- a/contrib/gcc/md5.c +++ b/contrib/gcc/md5.c @@ -229,7 +229,7 @@ md5_process_bytes (buffer, len, ctx) ctx->buflen = (left_over + add) & 63; } - buffer = (const char *) buffer + add; + buffer = (const void *) ((const char *) buffer + add); len -= add; } @@ -237,7 +237,7 @@ md5_process_bytes (buffer, len, ctx) if (len > 64) { md5_process_block (buffer, len & ~63, ctx); - buffer = (const char *) buffer + (len & ~63); + buffer = (const void *) ((const char *) buffer + (len & ~63)); len &= 63; } @@ -269,7 +269,7 @@ md5_process_block (buffer, len, ctx) struct md5_ctx *ctx; { md5_uint32 correct_words[16]; - const md5_uint32 *words = buffer; + const md5_uint32 *words = (const md5_uint32 *) buffer; size_t nwords = len / sizeof (md5_uint32); const md5_uint32 *endp = words + nwords; md5_uint32 A = ctx->A; @@ -343,68 +343,76 @@ md5_process_block (buffer, len, ctx) in CORRECT_WORDS. Redefine the macro to take an additional first argument specifying the function to use. */ #undef OP -#define OP(f, a, b, c, d, k, s, T) \ +#define OP(a, b, c, d, k, s, T) \ do \ { \ - a += f (b, c, d) + correct_words[k] + T; \ + a += FX (b, c, d) + correct_words[k] + T; \ CYCLIC (a, s); \ a += b; \ } \ while (0) +#define FX(b, c, d) FG (b, c, d) + /* Round 2. */ - OP (FG, A, B, C, D, 1, 5, (md5_uint32) 0xf61e2562); - OP (FG, D, A, B, C, 6, 9, (md5_uint32) 0xc040b340); - OP (FG, C, D, A, B, 11, 14, (md5_uint32) 0x265e5a51); - OP (FG, B, C, D, A, 0, 20, (md5_uint32) 0xe9b6c7aa); - OP (FG, A, B, C, D, 5, 5, (md5_uint32) 0xd62f105d); - OP (FG, D, A, B, C, 10, 9, (md5_uint32) 0x02441453); - OP (FG, C, D, A, B, 15, 14, (md5_uint32) 0xd8a1e681); - OP (FG, B, C, D, A, 4, 20, (md5_uint32) 0xe7d3fbc8); - OP (FG, A, B, C, D, 9, 5, (md5_uint32) 0x21e1cde6); - OP (FG, D, A, B, C, 14, 9, (md5_uint32) 0xc33707d6); - OP (FG, C, D, A, B, 3, 14, (md5_uint32) 0xf4d50d87); - OP (FG, B, C, D, A, 8, 20, (md5_uint32) 0x455a14ed); - OP (FG, A, B, C, D, 13, 5, (md5_uint32) 0xa9e3e905); - OP (FG, D, A, B, C, 2, 9, (md5_uint32) 0xfcefa3f8); - OP (FG, C, D, A, B, 7, 14, (md5_uint32) 0x676f02d9); - OP (FG, B, C, D, A, 12, 20, (md5_uint32) 0x8d2a4c8a); + OP (A, B, C, D, 1, 5, (md5_uint32) 0xf61e2562); + OP (D, A, B, C, 6, 9, (md5_uint32) 0xc040b340); + OP (C, D, A, B, 11, 14, (md5_uint32) 0x265e5a51); + OP (B, C, D, A, 0, 20, (md5_uint32) 0xe9b6c7aa); + OP (A, B, C, D, 5, 5, (md5_uint32) 0xd62f105d); + OP (D, A, B, C, 10, 9, (md5_uint32) 0x02441453); + OP (C, D, A, B, 15, 14, (md5_uint32) 0xd8a1e681); + OP (B, C, D, A, 4, 20, (md5_uint32) 0xe7d3fbc8); + OP (A, B, C, D, 9, 5, (md5_uint32) 0x21e1cde6); + OP (D, A, B, C, 14, 9, (md5_uint32) 0xc33707d6); + OP (C, D, A, B, 3, 14, (md5_uint32) 0xf4d50d87); + OP (B, C, D, A, 8, 20, (md5_uint32) 0x455a14ed); + OP (A, B, C, D, 13, 5, (md5_uint32) 0xa9e3e905); + OP (D, A, B, C, 2, 9, (md5_uint32) 0xfcefa3f8); + OP (C, D, A, B, 7, 14, (md5_uint32) 0x676f02d9); + OP (B, C, D, A, 12, 20, (md5_uint32) 0x8d2a4c8a); + +#undef FX +#define FX(b, c, d) FH (b, c, d) /* Round 3. */ - OP (FH, A, B, C, D, 5, 4, (md5_uint32) 0xfffa3942); - OP (FH, D, A, B, C, 8, 11, (md5_uint32) 0x8771f681); - OP (FH, C, D, A, B, 11, 16, (md5_uint32) 0x6d9d6122); - OP (FH, B, C, D, A, 14, 23, (md5_uint32) 0xfde5380c); - OP (FH, A, B, C, D, 1, 4, (md5_uint32) 0xa4beea44); - OP (FH, D, A, B, C, 4, 11, (md5_uint32) 0x4bdecfa9); - OP (FH, C, D, A, B, 7, 16, (md5_uint32) 0xf6bb4b60); - OP (FH, B, C, D, A, 10, 23, (md5_uint32) 0xbebfbc70); - OP (FH, A, B, C, D, 13, 4, (md5_uint32) 0x289b7ec6); - OP (FH, D, A, B, C, 0, 11, (md5_uint32) 0xeaa127fa); - OP (FH, C, D, A, B, 3, 16, (md5_uint32) 0xd4ef3085); - OP (FH, B, C, D, A, 6, 23, (md5_uint32) 0x04881d05); - OP (FH, A, B, C, D, 9, 4, (md5_uint32) 0xd9d4d039); - OP (FH, D, A, B, C, 12, 11, (md5_uint32) 0xe6db99e5); - OP (FH, C, D, A, B, 15, 16, (md5_uint32) 0x1fa27cf8); - OP (FH, B, C, D, A, 2, 23, (md5_uint32) 0xc4ac5665); + OP (A, B, C, D, 5, 4, (md5_uint32) 0xfffa3942); + OP (D, A, B, C, 8, 11, (md5_uint32) 0x8771f681); + OP (C, D, A, B, 11, 16, (md5_uint32) 0x6d9d6122); + OP (B, C, D, A, 14, 23, (md5_uint32) 0xfde5380c); + OP (A, B, C, D, 1, 4, (md5_uint32) 0xa4beea44); + OP (D, A, B, C, 4, 11, (md5_uint32) 0x4bdecfa9); + OP (C, D, A, B, 7, 16, (md5_uint32) 0xf6bb4b60); + OP (B, C, D, A, 10, 23, (md5_uint32) 0xbebfbc70); + OP (A, B, C, D, 13, 4, (md5_uint32) 0x289b7ec6); + OP (D, A, B, C, 0, 11, (md5_uint32) 0xeaa127fa); + OP (C, D, A, B, 3, 16, (md5_uint32) 0xd4ef3085); + OP (B, C, D, A, 6, 23, (md5_uint32) 0x04881d05); + OP (A, B, C, D, 9, 4, (md5_uint32) 0xd9d4d039); + OP (D, A, B, C, 12, 11, (md5_uint32) 0xe6db99e5); + OP (C, D, A, B, 15, 16, (md5_uint32) 0x1fa27cf8); + OP (B, C, D, A, 2, 23, (md5_uint32) 0xc4ac5665); + +#undef FX +#define FX(b, c, d) FI (b, c, d) /* Round 4. */ - OP (FI, A, B, C, D, 0, 6, (md5_uint32) 0xf4292244); - OP (FI, D, A, B, C, 7, 10, (md5_uint32) 0x432aff97); - OP (FI, C, D, A, B, 14, 15, (md5_uint32) 0xab9423a7); - OP (FI, B, C, D, A, 5, 21, (md5_uint32) 0xfc93a039); - OP (FI, A, B, C, D, 12, 6, (md5_uint32) 0x655b59c3); - OP (FI, D, A, B, C, 3, 10, (md5_uint32) 0x8f0ccc92); - OP (FI, C, D, A, B, 10, 15, (md5_uint32) 0xffeff47d); - OP (FI, B, C, D, A, 1, 21, (md5_uint32) 0x85845dd1); - OP (FI, A, B, C, D, 8, 6, (md5_uint32) 0x6fa87e4f); - OP (FI, D, A, B, C, 15, 10, (md5_uint32) 0xfe2ce6e0); - OP (FI, C, D, A, B, 6, 15, (md5_uint32) 0xa3014314); - OP (FI, B, C, D, A, 13, 21, (md5_uint32) 0x4e0811a1); - OP (FI, A, B, C, D, 4, 6, (md5_uint32) 0xf7537e82); - OP (FI, D, A, B, C, 11, 10, (md5_uint32) 0xbd3af235); - OP (FI, C, D, A, B, 2, 15, (md5_uint32) 0x2ad7d2bb); - OP (FI, B, C, D, A, 9, 21, (md5_uint32) 0xeb86d391); + OP (A, B, C, D, 0, 6, (md5_uint32) 0xf4292244); + OP (D, A, B, C, 7, 10, (md5_uint32) 0x432aff97); + OP (C, D, A, B, 14, 15, (md5_uint32) 0xab9423a7); + OP (B, C, D, A, 5, 21, (md5_uint32) 0xfc93a039); + OP (A, B, C, D, 12, 6, (md5_uint32) 0x655b59c3); + OP (D, A, B, C, 3, 10, (md5_uint32) 0x8f0ccc92); + OP (C, D, A, B, 10, 15, (md5_uint32) 0xffeff47d); + OP (B, C, D, A, 1, 21, (md5_uint32) 0x85845dd1); + OP (A, B, C, D, 8, 6, (md5_uint32) 0x6fa87e4f); + OP (D, A, B, C, 15, 10, (md5_uint32) 0xfe2ce6e0); + OP (C, D, A, B, 6, 15, (md5_uint32) 0xa3014314); + OP (B, C, D, A, 13, 21, (md5_uint32) 0x4e0811a1); + OP (A, B, C, D, 4, 6, (md5_uint32) 0xf7537e82); + OP (D, A, B, C, 11, 10, (md5_uint32) 0xbd3af235); + OP (C, D, A, B, 2, 15, (md5_uint32) 0x2ad7d2bb); + OP (B, C, D, A, 9, 21, (md5_uint32) 0xeb86d391); /* Add the starting values of the context. */ A += A_save; |