FreeCalypso > hg > fc-pcsc-tools
diff libcommon/hexdump.c @ 107:f1836c8d36cb
hexdump output commands reworked to support redirection
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Fri, 19 Feb 2021 06:43:01 +0000 |
| parents | f7145c77b7fb |
| children |
line wrap: on
line diff
--- a/libcommon/hexdump.c Fri Feb 19 06:24:06 2021 +0000 +++ b/libcommon/hexdump.c Fri Feb 19 06:43:01 2021 +0000 @@ -2,35 +2,43 @@ #include <stdio.h> #include "simresp.h" -display_sim_resp_in_hex() +display_sim_resp_in_hex(outf) + FILE *outf; { unsigned off, cc, n, c; for (off = 0; off < sim_resp_data_len; off += cc) { - printf("%02X:", off); + fprintf(outf, "%02X:", off); cc = 16; if (sim_resp_data_len - off < cc) cc = sim_resp_data_len - off; for (n = 0; n < 16; n++) { if (n == 0 || n == 8) - putchar(' '); - putchar(' '); + putc(' ', outf); + putc(' ', outf); if (n < cc) - printf("%02X", sim_resp_data[off + n]); + fprintf(outf, "%02X", sim_resp_data[off + n]); else { - putchar(' '); - putchar(' '); + putc(' ', outf); + putc(' ', outf); } } - putchar(' '); - putchar(' '); + putc(' ', outf); + putc(' ', outf); for (n = 0; n < cc; n++) { c = sim_resp_data[off + n]; if (c < 0x20 || c > 0x7E) c = '.'; - putchar(c); + putc(c, outf); } - putchar('\n'); + putc('\n', outf); } return(0); } + +cmd_sim_resp(argc, argv, outf) + char **argv; + FILE *outf; +{ + return display_sim_resp_in_hex(outf); +}
