printf("\n");
}
void print_hex_break(const uint8_t *data, const size_t len, uint8_t breaks) {
- size_t i;
- for ( i = 0; i < len; ++i) {
+
+ int rownum = 0;
+ printf("[%02d] | ", rownum);
+ for (int i = 0; i < len; ++i) {
printf("%02X ", data[i]);
// check if a line break is needed
- if ( breaks > 0 && !(i+1 % breaks) )
- printf("(%d %d)\n", i+1 , breaks);
+ if ( breaks > 0 && !((i+1) % breaks) && (i+1 < len) ) {
+ ++rownum;
+ printf("\n[%02d] | ", rownum);
+ }
}
printf("\n");
}
// loop through the out_index to make sure we don't go too far
for (size_t out_index=0; out_index < max_len-2; out_index++) {
// set character
- sprintf(tmp++, "%u", data[in_index]);
+ sprintf(tmp++, "%u", (unsigned int) data[in_index]);
// check if a line break is needed and we have room to print it in our array
if ( (breaks > 0) && !((in_index+1) % breaks) && (out_index+1 != max_len) ) {
// increment and print line break