#include <stdio.h>
#include <string.h>
#include <stdlib.h>
-#include "ripemd.h"
-char *test[]={
+#ifdef NO_RIPEMD
+int main(int argc, char *argv[])
+{
+ printf("No ripemd support\n");
+ return(0);
+}
+#else
+#include <openssl/ripemd.h>
+
+#ifdef CHARSET_EBCDIC
+#include <openssl/ebcdic.h>
+#endif
+
+static char *test[]={
"",
"a",
"abc",
NULL,
};
-char *ret[]={
+static char *ret[]={
"9c1185a5c5e9fc54612808977ee8f548b2258d31",
"0bdc9d2d256b3ee9daae347be6f4dc835a467ffe",
"8eb208f7e05d987a9b044a8e98c6b087f15a0bfc",
"9b752e45573d4b39f4dbd3323cab82bf63326bfb",
};
-#ifndef NOPROTO
static char *pt(unsigned char *md);
-#else
-static char *pt();
-#endif
-
-int main(argc,argv)
-int argc;
-char *argv[];
+int main(int argc, char *argv[])
{
int i,err=0;
unsigned char **P,**R;
i=1;
while (*P != NULL)
{
+#ifdef CHARSET_EBCDIC
+ ebcdic2ascii((char *)*P, (char *)*P, strlen((char *)*P));
+#endif
p=pt(RIPEMD160(&(P[0][0]),(unsigned long)strlen((char *)*P),NULL));
if (strcmp(p,(char *)*R) != 0)
{
return(0);
}
-static char *pt(md)
-unsigned char *md;
+static char *pt(unsigned char *md)
{
int i;
static char buf[80];
sprintf(&(buf[i*2]),"%02x",md[i]);
return(buf);
}
-
+#endif