#include <stdio.h>
#include <string.h>
#include <ctype.h>
-#include <stdint.h>
+#include <inttypes.h>
static
void int_hexdump_line_buffer(FILE* stream, uint8_t* buffer, unsigned width, unsigned fill){
unsigned i;
for(i=0; i<width; ++i){
if(i<fill){
- fprintf(stream, "%2.2x ", buffer[i]);
+ fprintf(stream, "%2.2"PRIx8" ", buffer[i]);
}else{
fputs(" ", stream);
}
while(length>width){
memcpy(buffer, block, width);
if(print_addr){
- fprintf(stream, "%8.8x ", (uint32_t)print_addr);
+ fprintf(stream, "%p ", print_addr);
print_addr = (uint8_t*)print_addr + width;
}
fprintf(stream, "<%4.4x>: ", index);
}
memcpy(buffer, block, length);
if(print_addr){
- fprintf(stream, "%8.8x ", (uint32_t)print_addr);
+ fprintf(stream, "%p ", print_addr);
}
fprintf(stream, "<%4.4x>: ", index);
int_hexdump_line_buffer(stream, buffer, width, length);