From fa1ae45491a8e41ccde4e0b366c37ec2a067bae9 Mon Sep 17 00:00:00 2001 From: Tom Smeding Date: Mon, 4 Nov 2019 12:21:38 +0100 Subject: Let xxd take stream argument --- util.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'util.c') diff --git a/util.c b/util.c index 9c7e1a3..7bd9025 100644 --- a/util.c +++ b/util.c @@ -13,27 +13,27 @@ int uniqid(void) { return i++; } -void xxd(const void *buf_, size_t length) { +void xxd(FILE *stream, const void *buf_, size_t length) { unsigned char *buf = (unsigned char*)buf_; for (size_t cursor = 0; cursor < length;) { - printf("%08zx:", cursor); + fprintf(stream, "%08zx:", cursor); for (int i = 0; i < 16; i++) { - if (i % 2 == 0) printf(" "); - if (i % 8 == 0) printf(" "); - if (cursor + i < length) printf("%02x", (unsigned)buf[cursor + i]); - else printf(" "); + if (i % 2 == 0) fprintf(stream, " "); + if (i % 8 == 0) fprintf(stream, " "); + if (cursor + i < length) fprintf(stream, "%02x", (unsigned)buf[cursor + i]); + else fprintf(stream, " "); } - printf(" |"); + fprintf(stream, " |"); for (int i = 0; i < 16 && cursor + i < length; i++) { - if (isprint(buf[cursor + i])) printf("%c", buf[cursor + i]); - else printf("."); + if (isprint(buf[cursor + i])) fprintf(stream, "%c", buf[cursor + i]); + else fprintf(stream, "."); } - printf("|\n"); + fprintf(stream, "|\n"); cursor += 16; } -- cgit v1.2.3-54-g00ecf