From 1ae4a174723dd8082a26ce368400eb3d8414ad75 Mon Sep 17 00:00:00 2001
From: magnum <magnum>
Date: Mon, 28 Nov 2011 03:01:56 +0100
Subject: [PATCH 22/22] A couple more dump_stuff functions for debugging

---
 src/memory.c |   16 ++++++++++++++++
 src/memory.h |    2 ++
 2 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/src/memory.c b/src/memory.c
index 7da6451..d783da8 100644
--- a/src/memory.c
+++ b/src/memory.c
@@ -144,6 +144,7 @@ void alter_endianity(unsigned char * _x, unsigned int size)
 #define SHAGETPOS(i, index)		( (index&(MMX_COEF-1))*4 + ((i)&(0xffffffff-3) )*MMX_COEF + (3-((i)&3)) + (index>>(MMX_COEF>>1))*80*4*MMX_COEF ) //for endianity conversion
 #define SHAGETOUTPOS(i, index)		( (index&(MMX_COEF-1))*4 + ((i)&(0xffffffff-3) )*MMX_COEF + (3-((i)&3)) + (index>>(MMX_COEF>>1))*20*MMX_COEF ) //for endianity conversion
 #define GETPOS(i, index)		( (index&(MMX_COEF-1))*4 + ((i)&(0xffffffff-3) )*MMX_COEF +    ((i)&3)  + (index>>(MMX_COEF>>1))*64*MMX_COEF  )
+#define GETOUTPOS(i, index)		( (index&(MMX_COEF-1))*4 + ((i)&(0xffffffff-3) )*MMX_COEF +    ((i)&3)  + (index>>(MMX_COEF>>1))*16*MMX_COEF  )
 
 void dump_stuff_mmx(unsigned char * buf, unsigned int size, unsigned int index)
 {
@@ -156,10 +157,25 @@ void dump_stuff_mmx(unsigned char * buf, unsigned int size, unsigned int index)
 	}
 	printf("\n");
 }
+void dump_out_mmx(unsigned char * buf, unsigned int size, unsigned int index)
+{
+	unsigned int i;
+	for(i=0;i<size;i++)
+	{
+		printf("%.2x", buf[GETOUTPOS(i, index)]);
+		if( (i%4)==3 )
+			printf(" ");
+	}
+	printf("\n");
+}
 void dump_stuff_mmx_msg(char *msg, unsigned char * buf, unsigned int size, unsigned int index) {
 	printf("%s : ", msg);
 	dump_stuff_mmx(buf, size, index);
 }
+void dump_out_mmx_msg(char *msg, unsigned char * buf, unsigned int size, unsigned int index) {
+	printf("%s : ", msg);
+	dump_out_mmx(buf, size, index);
+}
 
 void dump_stuff_shammx(unsigned char * buf, unsigned int size, unsigned int index)
 {
diff --git a/src/memory.h b/src/memory.h
index bf75f7a..55b631b 100644
--- a/src/memory.h
+++ b/src/memory.h
@@ -95,6 +95,8 @@ void dump_stuff_msg(char *msg, unsigned char * x, unsigned int size);
 #if defined (MMX_COEF) || defined(NT_X86_64) || defined (MD5_SSE_PARA) || defined (MD4_SSE_PARA) || defined (SHA1_SSE_PARA)
 void dump_stuff_mmx(unsigned char * x, unsigned int size, unsigned int index);
 void dump_stuff_mmx_msg(char *msg, unsigned char * buf, unsigned int size, unsigned int index);
+void dump_out_mmx(unsigned char * x, unsigned int size, unsigned int index);
+void dump_out_mmx_msg(char *msg, unsigned char * buf, unsigned int size, unsigned int index);
 void dump_stuff_shammx(unsigned char * x, unsigned int size, unsigned int index);
 void dump_stuff_shammx_msg(char *msg, unsigned char * buf, unsigned int size, unsigned int index);
 void dump_out_shammx(unsigned char * x, unsigned int size, unsigned int index);
-- 
1.7.5.4

