size_t-fication of message digest APIs. We should size_t-fy more APIs...
[openssl.git] / crypto / mdc2 / mdc2dgst.c
index f2803fb58c106ab8d4d226d60a3e59617039f353..aa9ba0ee6bd982cb4436d4f1c80e34d2cf2a2204 100644 (file)
@@ -59,8 +59,8 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#include "des.h"
-#include "mdc2.h"
+#include <openssl/des.h>
+#include <openssl/mdc2.h>
 
 #undef c2l
 #define c2l(c,l)       (l =((DES_LONG)(*((c)++)))    , \
                        *((c)++)=(unsigned char)(((l)>>16L)&0xff), \
                        *((c)++)=(unsigned char)(((l)>>24L)&0xff))
 
-#ifndef NOPROTO
-static void mdc2_body(MDC2_CTX *c, unsigned char *in, unsigned int len);
-#else
-static void mdc2_body();
-#endif
-
-void MDC2_Init(c)
-MDC2_CTX *c;
+static void mdc2_body(MDC2_CTX *c, const unsigned char *in, size_t len);
+int MDC2_Init(MDC2_CTX *c)
        {
        c->num=0;
        c->pad_type=1;
        memset(&(c->h[0]),0x52,MDC2_BLOCK);
        memset(&(c->hh[0]),0x25,MDC2_BLOCK);
+       return 1;
        }
 
-void MDC2_Update(c,in,len)
-MDC2_CTX *c;
-register unsigned char *in;
-unsigned long len;
+int MDC2_Update(MDC2_CTX *c, const unsigned char *in, size_t len)
        {
-       int i,j;
+       size_t i,j;
 
        i=c->num;
        if (i != 0)
@@ -102,9 +94,9 @@ unsigned long len;
                if (i+len < MDC2_BLOCK)
                        {
                        /* partial block */
-                       memcpy(&(c->data[i]),in,(int)len);
+                       memcpy(&(c->data[i]),in,len);
                        c->num+=(int)len;
-                       return;
+                       return 1;
                        }
                else
                        {
@@ -117,27 +109,25 @@ unsigned long len;
                        mdc2_body(c,&(c->data[0]),MDC2_BLOCK);
                        }
                }
-       i=(int)(len&(unsigned long)~(MDC2_BLOCK-1));
+       i=len&~((size_t)MDC2_BLOCK-1);
        if (i > 0) mdc2_body(c,in,i);
-       j=(int)len-i;
+       j=len-i;
        if (j > 0)
                {
                memcpy(&(c->data[0]),&(in[i]),j);
-               c->num=j;
+               c->num=(int)j;
                }
+       return 1;
        }
 
-static void mdc2_body(c,in,len)
-MDC2_CTX *c;
-unsigned char *in;
-unsigned int len;
+static void mdc2_body(MDC2_CTX *c, const unsigned char *in, size_t len)
        {
        register DES_LONG tin0,tin1;
        register DES_LONG ttin0,ttin1;
        DES_LONG d[2],dd[2];
-       des_key_schedule k;
+       DES_key_schedule k;
        unsigned char *p;
-       unsigned int i;
+       size_t i;
 
        for (i=0; i<len; i+=8)
                {
@@ -146,13 +136,13 @@ unsigned int len;
                c->h[0]=(c->h[0]&0x9f)|0x40;
                c->hh[0]=(c->hh[0]&0x9f)|0x20;
 
-               des_set_odd_parity(c->h);
-               des_set_key(c->h,k);
-               des_encrypt(d,k,1);
+               DES_set_odd_parity(&c->h);
+               DES_set_key_unchecked(&c->h,&k);
+               DES_encrypt1(d,&k,1);
 
-               des_set_odd_parity(c->hh);
-               des_set_key(c->hh,k);
-               des_encrypt(dd,k,1);
+               DES_set_odd_parity(&c->hh);
+               DES_set_key_unchecked(&c->hh,&k);
+               DES_encrypt1(dd,&k,1);
 
                ttin0=tin0^dd[0];
                ttin1=tin1^dd[1];
@@ -168,9 +158,7 @@ unsigned int len;
                }
        }
 
-void MDC2_Final(md,c)
-unsigned char *md;
-MDC2_CTX *c;
+int MDC2_Final(unsigned char *md, MDC2_CTX *c)
        {
        int i,j;
 
@@ -185,6 +173,7 @@ MDC2_CTX *c;
                }
        memcpy(md,(char *)c->h,MDC2_BLOCK);
        memcpy(&(md[MDC2_BLOCK]),(char *)c->hh,MDC2_BLOCK);
+       return 1;
        }
 
 #undef TEST