VOID HexDump (unsigned char *p_Buffer, uintptr_t p_Size) { uintptr_t l_Index, l_Idx; unsigned char l_Row [17]; for (l_Index = l_Row [16] = 0; l_Index < p_Size || l_Index % 16; ++l_Index) { if (l_Index % 16 == 0) DEBUGP (("%05x ", l_Index)); DEBUGP (("%02x ", l_Row [l_Index % 16] = (l_Index < p_Size ? p_Buffer [l_Index] : 0))); l_Row [l_Index % 16] = IfPrint (l_Row [l_Index % 16]); if ((l_Index + 1) % 16 == 0) DEBUGP ((" %s\n", l_Row)); } DEBUGP (("\n")); }
static void HexDump(unsigned char *p_Buffer, unsigned long p_Size) { unsigned long l_Index, l_Idx; unsigned char l_Row [17]; for (l_Index = l_Row [16] = 0; l_Index < p_Size || l_Index % 16; ++l_Index) { if (l_Index % 16 == 0) printf("%05x ", l_Index); printf("%02x ", l_Row [l_Index % 16] = (l_Index < p_Size ? p_Buffer [l_Index] : 0)); l_Row [l_Index % 16] = IfPrint (l_Row [l_Index % 16]); if ((l_Index + 1) % 16 == 0) printf(" %s\n", l_Row); } printf("\n"); }