]> granicus.if.org Git - vim/commitdiff
patch 8.0.1537: xxd does not skip NUL lines when using ebcdic v8.0.1537
authorBram Moolenaar <Bram@vim.org>
Sat, 24 Feb 2018 17:30:55 +0000 (18:30 +0100)
committerBram Moolenaar <Bram@vim.org>
Sat, 24 Feb 2018 17:30:55 +0000 (18:30 +0100)
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)

src/version.c
src/xxd/xxd.c

index b2a2e8f4f2ec7409a6e291a1c599e435a4657981..ede62c9120c37677b045a941a27b42f8a588bd08 100644 (file)
@@ -778,6 +778,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1537,
 /**/
     1536,
 /**/
index f76adaa3a34c5ea5fa7920898408284322b3b2f2..f89f4d3b03900ea80aef253dcf0ad14c7c5ee1e2 100644 (file)
@@ -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)
        {