From c8c21c5f650596454ec5619da8c911569baa6b42 Mon Sep 17 00:00:00 2001 From: Jakob Kaivo Date: Thu, 8 Aug 2019 15:33:20 -0400 Subject: include sample program binhex --- .gitignore | 2 ++ Makefile | 9 +++++++++ binhex.c | 21 +++++++++++++++++++++ 3 files changed, 32 insertions(+) create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 binhex.c diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..515eaf0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +binhex +*.o diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..26a3cc0 --- /dev/null +++ b/Makefile @@ -0,0 +1,9 @@ +.POSIX: + +binhex: binhex.o binary.o + +binhex.o: binhex.c binary.h +binary.o: binary.c binary.h + +clean: + rm -f binhex *.o diff --git a/binhex.c b/binhex.c new file mode 100644 index 0000000..1741573 --- /dev/null +++ b/binhex.c @@ -0,0 +1,21 @@ +#include +#include +#include "binary.h" + +int main(int argc, char *argv[]) +{ + for (int i = 1; i < argc; i++) { + int base = argv[i][0] == '0' && argv[i][1] == 'x' ? 16 : 2; + char s[BINSTRLEN]; + uintmax_t n = strtoumax(argv[i], NULL, base); + if (argc > 2) { + printf("%s: ", argv[i]); + } + if (base == 2) { + printf("%jx\n", n); + } else { + printf("%s\n", binstr(sizeof(s), s, n)); + } + } + return 0; +} -- cgit v1.2.1