summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2018-02-24 18:30:55 +0100
committerBram Moolenaar <Bram@vim.org>2018-02-24 18:30:55 +0100
commit085346f5a1ab5828b1fd80990d93172440c54724 (patch)
tree78649a1b713d4592b88577301402abfec2f84a5e
parent791010e648a68490440e202222938c8a93b9d0d3 (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.c2
-rw-r--r--src/xxd/xxd.c4
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)
{