# HG changeset patch # User Michael Spacefalcon # Date 1374808557 0 # Node ID 00dedefbdfd18c3ac9f2e5f656756fce426aed18 # Parent 103d996ed2d5aca04e6dd410702917f2928ec0d0 factdiff: print the number of bytes in each varying chunk diff -r 103d996ed2d5 -r 00dedefbdfd1 factdiff.c --- a/factdiff.c Thu Jul 25 17:06:23 2013 +0000 +++ b/factdiff.c Fri Jul 26 03:15:57 2013 +0000 @@ -51,15 +51,20 @@ output() { - int off, state, cstart; + int off, state, cstart, num; for (off = 0; off < 65536; ) { state = is_diff[off]; cstart = off; while (off < 65536 && is_diff[off] == state) off++; - printf("%04X-%04X: %s\n", cstart, off-1, + printf("%04X-%04X: %s", cstart, off-1, state ? "varying" : "constant"); + if (state) { + num = off - cstart; + printf(" (%d byte%s)", num, num != 1 ? "s" : ""); + } + putchar('\n'); } }