|
|
|
@ -57,19 +57,21 @@ static void parse_hex(FILE *fp, char *buf, size_t len) |
|
|
|
|
|
|
|
|
|
static void print_hex_ascii(FILE *fp, const char *buf, size_t len) |
|
|
|
|
{ |
|
|
|
|
size_t i, j; |
|
|
|
|
size_t n, i; |
|
|
|
|
char c; |
|
|
|
|
|
|
|
|
|
for (j = 0; j < len; j += 16, buf += 16) { |
|
|
|
|
for (; len; buf += n, len -= n) { |
|
|
|
|
n = min(len, 16); |
|
|
|
|
|
|
|
|
|
for (i = 0; i < 16; ++i) { |
|
|
|
|
c = (i < len) ? buf[i] : 0; |
|
|
|
|
c = (i < n) ? buf[i] : 0; |
|
|
|
|
fprintf(fp, "%02x", c); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
fprintf(fp, " "); |
|
|
|
|
|
|
|
|
|
for (i = 0; i < 16; ++i) { |
|
|
|
|
c = (i < len) ? buf[i] : 0; |
|
|
|
|
c = (i < n) ? buf[i] : 0; |
|
|
|
|
fprintf(fp, "%c", isalnum(c) ? c : '.'); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|