summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2013-08-03 14:10:50 +0200
committerBram Moolenaar <Bram@vim.org>2013-08-03 14:10:50 +0200
commitfb332a2b33ddbbaa172b32148640b9b3c92a8dc0 (patch)
tree4dcfc83f955cf5a41d2dfd321fcceddefffdd23a
parentc528b1d1edb5ab87242704c82422ae363647603c (diff)
updated for version 7.4b.012v7.4b.012
Problem: Output from a shell command is truncated at a NUL. (lcd 47) Solution: Change every NUL into an SOH.
-rw-r--r--src/misc1.c7
-rw-r--r--src/version.c2
2 files changed, 9 insertions, 0 deletions
diff --git a/src/misc1.c b/src/misc1.c
index 9581631787..11f456b804 100644
--- 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);
diff --git a/src/version.c b/src/version.c
index 676245d7b1..bf7c0e1949 100644
--- 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,