md5: fix test program
authorMans Rullgard <mans@mansr.com>
Sun, 3 Jul 2011 16:50:38 +0000 (17:50 +0100)
committerMans Rullgard <mans@mansr.com>
Sun, 3 Jul 2011 17:19:18 +0000 (18:19 +0100)
This makes the md5-test program print something meaningful and not
smash the stack.

Signed-off-by: Mans Rullgard <mans@mansr.com>
libavutil/md5.c

index 271d71f..b0c678b 100644 (file)
@@ -162,21 +162,29 @@ void av_md5_sum(uint8_t *dst, const uint8_t *src, const int len){
 }
 
 #ifdef TEST
-#include <stdio.h>
-#include <inttypes.h>
 #undef printf
+#include <stdio.h>
+
+static void print_md5(uint8_t *md5)
+{
+    int i;
+    for (i = 0; i < 16; i++)
+        printf("%02x", md5[i]);
+    printf("\n");
+}
+
 int main(void){
-    uint64_t md5val;
+    uint8_t md5val[16];
     int i;
     uint8_t in[1000];
 
     for(i=0; i<1000; i++) in[i]= i*i;
-    av_md5_sum( (uint8_t*)&md5val, in,  1000); printf("%"PRId64"\n", md5val);
-    av_md5_sum( (uint8_t*)&md5val, in,  63); printf("%"PRId64"\n", md5val);
-    av_md5_sum( (uint8_t*)&md5val, in,  64); printf("%"PRId64"\n", md5val);
-    av_md5_sum( (uint8_t*)&md5val, in,  65); printf("%"PRId64"\n", md5val);
+    av_md5_sum(md5val, in, 1000); print_md5(md5val);
+    av_md5_sum(md5val, in,   63); print_md5(md5val);
+    av_md5_sum(md5val, in,   64); print_md5(md5val);
+    av_md5_sum(md5val, in,   65); print_md5(md5val);
     for(i=0; i<1000; i++) in[i]= i % 127;
-    av_md5_sum( (uint8_t*)&md5val, in,  999); printf("%"PRId64"\n", md5val);
+    av_md5_sum(md5val, in,  999); print_md5(md5val);
 
     return 0;
 }