shell: print zeroes when the buffer size is not a multiple of 16

tags/0.1.0
S.J.R. van Schaik 8 years ago
parent 1723197e63
commit ce50cc6d5f
  1. 5
      shell.c

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

Loading…
Cancel
Save