diff src/channel.c @ 9529:581d5131629f v7.4.2045

commit https://github.com/vim/vim/commit/5ef2e762844e0eb1f5b213bd58e6bc38bdb69dac Author: Bram Moolenaar <Bram@vim.org> Date: Fri Jul 15 21:29:35 2016 +0200 patch 7.4.2045 Problem: Memory leak when using a function callback. Solution: Don't save the function name when it's in the partial.
author Christian Brabandt <cb@256bit.org>
date Fri, 15 Jul 2016 21:30:07 +0200
parents 404de131cff9
children 172131507c85
line wrap: on
line diff
--- a/src/channel.c
+++ b/src/channel.c
@@ -1122,7 +1122,12 @@ set_callback(
 {
     free_callback(*cbp, *pp);
     if (callback != NULL && *callback != NUL)
-	*cbp = vim_strsave(callback);
+    {
+	if (partial != NULL)
+	    *cbp = partial->pt_name;
+	else
+	    *cbp = vim_strsave(callback);
+    }
     else
 	*cbp = NULL;
     *pp = partial;