patch 8.0.1537: xxd does not skip NUL lines when using ebcdic
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)
diff --git a/src/version.c b/src/version.c
index b2a2e8f..ede62c9 100644
--- a/src/version.c
+++ b/src/version.c
@@ -779,6 +779,8 @@
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 f76adaa..f89f4d3 100644
--- a/src/xxd/xxd.c
+++ b/src/xxd/xxd.c
@@ -827,6 +827,8 @@
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 @@
(e > 31 && e < 127)
#endif
? e : '.';
- if (e)
- nonzero++;
n++;
if (++p == cols)
{