diff options
author | June McEnroe <june@causal.agency> | 2016-09-12 15:02:22 -0400 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2016-09-12 15:02:22 -0400 |
commit | 29358591f48f23e0a71c52dc13c9c1f453235ca4 (patch) | |
tree | 7ee3a43aeec06ab0d405ec185974896e550d9b2c /.bin/xx.c | |
parent | Add -c option to xx (diff) | |
download | src-29358591f48f23e0a71c52dc13c9c1f453235ca4.tar.gz src-29358591f48f23e0a71c52dc13c9c1f453235ca4.zip |
Add -g option to xx
Diffstat (limited to '')
-rwxr-xr-x | .bin/xx.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/.bin/xx.c b/.bin/xx.c index 153ba74e..3aac12f6 100755 --- a/.bin/xx.c +++ b/.bin/xx.c @@ -10,12 +10,15 @@ exec cc -Weverything -Wno-vla -o ~/.bin/xx $0 int main(int argc, char **argv) { size_t cols = 16; + size_t group = 8; char *path = NULL; - while (getopt(argc, argv, "c:") > 0) + while (getopt(argc, argv, "c:g:") > 0) if (optopt == 'c') { cols = (size_t) strtol(optarg, NULL, 10); if (!cols) return EXIT_FAILURE; + } else if (optopt == 'g') { + group = (size_t) strtol(optarg, NULL, 10); } else return EXIT_FAILURE; if (argc > optind) path = argv[optind]; @@ -29,8 +32,12 @@ int main(int argc, char **argv) uint8_t buf[cols]; for (;;) { size_t n = fread(buf, 1, sizeof(buf), file); - for (size_t i = 0; i < n; ++i) + + for (size_t i = 0; i < n; ++i) { + if (group && i && !(i % group)) printf(" "); printf("%02x ", buf[i]); + } + printf("\n"); if (n < sizeof(buf)) break; } |