changeset 5271:25f67b62afd8 v7.4b.012

updated for version 7.4b.012 Problem: Output from a shell command is truncated at a NUL. (lcd 47) Solution: Change every NUL into an SOH.
author Bram Moolenaar <bram@vim.org>
date Sat, 03 Aug 2013 14:10:50 +0200
parents f12b613858a6
children 62b39a51605c
files src/misc1.c src/version.c
diffstat 2 files changed, 9 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/misc1.c
+++ b/src/misc1.c
@@ -10887,7 +10887,14 @@ get_cmd_output(cmd, infile, flags)
 	buffer = NULL;
     }
     else
+    {
+	/* Change NUL into SOH, otherwise the string is truncated. */
+	for (i = 0; i < len; ++i)
+	    if (buffer[len] == NUL)
+		buffer[len] = 1;
+
 	buffer[len] = NUL;	/* make sure the buffer is terminated */
+    }
 
 done:
     vim_free(tempname);
--- a/src/version.c
+++ b/src/version.c
@@ -728,6 +728,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    12,
+/**/
     11,
 /**/
     10,