Mercurial > vim
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);