From 2c63cbebbcc1a4ca58889be3a851f9a3f838a152 Mon Sep 17 00:00:00 2001 From: Royce Mitchell III Date: Thu, 23 Sep 2004 12:36:19 +0000 Subject: [PATCH 1/1] new version of OskitDumpBuffer() that shows ascii characters, too, for easier debugging svn path=/trunk/; revision=10997 --- .../drivers/lib/oskittcp/oskittcp/interface.c | 39 ++++++++++++++----- 1 file changed, 30 insertions(+), 9 deletions(-) diff --git a/reactos/drivers/lib/oskittcp/oskittcp/interface.c b/reactos/drivers/lib/oskittcp/oskittcp/interface.c index bfd12b0190d..f422f90b556 100644 --- a/reactos/drivers/lib/oskittcp/oskittcp/interface.c +++ b/reactos/drivers/lib/oskittcp/oskittcp/interface.c @@ -15,6 +15,10 @@ #include #include +#ifdef WIN32 +#define snprintf _snprintf +#endif//WIN32 + struct linker_set domain_set; OSKITTCP_EVENT_HANDLERS OtcpEvent = { 0 }; @@ -74,15 +78,32 @@ void RegisterOskitTCPEventHandlers( POSKITTCP_EVENT_HANDLERS EventHandlers ) { OtcpEvent.PacketSend)); } -void OskitDumpBuffer( OSK_PCHAR Data, OSK_UINT Len ) { - unsigned int i; - - for( i = 0; i < Len; i++ ) { - if( i && !(i & 0xf) ) DbgPrint( "\n" ); - if( !(i & 0xf) ) DbgPrint( "%08x: ", (OSK_UINT)(Data + i) ); - DbgPrint( " %02x", Data[i] ); - } - DbgPrint("\n"); +void OskitDumpBuffer( OSK_PCHAR Data, OSK_UINT Len ) +{ + unsigned int i; + char line[81]; + static const char* hex = "0123456789abcdef"; + + for ( i = 0; i < Len; i++ ) + { + int align = i & 0xf; + int align3 = (align<<1) + align; + unsigned char c = Data[i]; + if ( !align ) + { + if ( i ) DbgPrint( line ); + snprintf ( line, sizeof(line)-1, "%08x: \n", Data ); + line[sizeof(line)-1] = '\0'; + } + + line[10+align3] = hex[(c>>4)&0xf]; + line[11+align3] = hex[c&0xf]; + if ( !isprint(c) ) + c = '.'; + line[59+align] = c; + } + if ( Len & 0xf ) + DbgPrint ( line ); } /* From uipc_syscalls.c */ -- 2.17.1