** This is a user-callable routine.
*/
void
-MD4Print(MDp)
-MD4_CTX *MDp;
+MD4Print(MD4_CTX *MDp)
{
int i,j;
for (i=0;i<4;i++)
** This is a user-callable routine.
*/
void
-MD4Init(MDp)
-MD4_CTX *MDp;
+MD4Init(MD4_CTX *MDp)
{
int i;
MDp->buffer[0] = I0;
** This routine is not user-callable.
*/
static void
-MDblock(MDp,Xb)
-MD4_CTX *MDp;
-unsigned char *Xb;
+MDblock(MD4_CTX *MDp, unsigned char *Xb)
{
register unsigned int tmp, A, B, C, D;
unsigned int X[16];
** if desired.
*/
void
-MD4Update(MDp,X,count)
-MD4_CTX *MDp;
-unsigned char *X;
-unsigned int count;
+MD4Update(MD4_CTX *MDp, unsigned char *X, unsigned int count)
{
unsigned int i, tmp, bit, byte, mask;
unsigned char XX[64];
byte = count >> 3;
bit = count & 7;
/* Copy X into XX since we need to modify it */
- for (i=0;i<=byte;i++) XX[i] = X[i];
+ if (count)
+ for (i=0;i<=byte;i++) XX[i] = X[i];
for (i=byte+1;i<64;i++) XX[i] = 0;
/* Add padding '1' bit and low-order zeros in last byte */
mask = 1 << (7 - bit);
** Finish up MD4 computation and return message digest.
*/
void
-MD4Final(buf, MD)
-unsigned char *buf;
-MD4_CTX *MD;
+MD4Final(unsigned char *buf, MD4_CTX *MD)
{
int i, j;
unsigned int w;