diff options
author | Bram Moolenaar <Bram@vim.org> | 2018-02-24 18:30:55 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2018-02-24 18:30:55 +0100 |
commit | 085346f5a1ab5828b1fd80990d93172440c54724 (patch) | |
tree | 78649a1b713d4592b88577301402abfec2f84a5e | |
parent | 791010e648a68490440e202222938c8a93b9d0d3 (diff) |
patch 8.0.1537: xxd does not skip NUL lines when using ebcdicv8.0.1537
Problem: Xxd does not skip NUL lines when using ebcdic.
Solution: Check for a NUL before converting a character for ebcdic. (Tim
Sell, closes #2668)
-rw-r--r-- | src/version.c | 2 | ||||
-rw-r--r-- | src/xxd/xxd.c | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/version.c b/src/version.c index b2a2e8f4f2..ede62c9120 100644 --- a/src/version.c +++ b/src/version.c @@ -779,6 +779,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1537, +/**/ 1536, /**/ 1535, diff --git a/src/xxd/xxd.c b/src/xxd/xxd.c index f76adaa3a3..f89f4d3b03 100644 --- a/src/xxd/xxd.c +++ b/src/xxd/xxd.c @@ -827,6 +827,8 @@ main(int argc, char *argv[]) for (i = 7; i >= 0; i--) l[++c] = (e & (1 << i)) ? '1' : '0'; } + if (e) + nonzero++; if (ebcdic) e = (e < 64) ? '.' : etoa64[e-64]; /* When changing this update definition of LLEN above. */ @@ -837,8 +839,6 @@ main(int argc, char *argv[]) (e > 31 && e < 127) #endif ? e : '.'; - if (e) - nonzero++; n++; if (++p == cols) { |