Support the EBCDIC character set and BS2000/OSD-POSIX (work in progress).
[openssl.git] / crypto / mdc2 / mdc2test.c
index 6e7c9a706ed547d4e12241a06bd6cda2543e39a5..0b1134bfe585b43261f549433d3c8d3f227b8efe 100644 (file)
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#include "mdc2.h"
+
+#ifdef NO_DES
+#define NO_MDC2
+#endif
+
+#ifdef NO_MDC2
+int main(int argc, char *argv[])
+{
+    printf("No MDC2 support\n");
+    return(0);
+}
+#else
+#include <openssl/mdc2.h>
+
+#ifdef CHARSET_EBCDIC
+#include <openssl/ebcdic.h>
+#endif
 
 static unsigned char pad1[16]={
        0x42,0xE5,0x0C,0xD2,0x24,0xBA,0xCE,0xBA,
@@ -71,9 +87,7 @@ static unsigned char pad2[16]={
        0x35,0xD8,0x7A,0xFE,0xAB,0x33,0xBE,0xE2
        };
 
-int main(argc,argv)
-int argc;
-char *argv[];
+int main(int argc, char *argv[])
        {
        int ret=0;
        unsigned char md[MDC2_DIGEST_LENGTH];
@@ -81,6 +95,10 @@ char *argv[];
        MDC2_CTX c;
        static char *text="Now is the time for all ";
 
+#ifdef CHARSET_EBCDIC
+       ebcdic2ascii(text,text,strlen(text));
+#endif
+
        MDC2_Init(&c);
        MDC2_Update(&c,(unsigned char *)text,strlen(text));
        MDC2_Final(&(md[0]),&c);
@@ -119,4 +137,4 @@ char *argv[];
        exit(ret);
        return(ret);
        }
-
+#endif