Patch 8.2.0573

6 views
Skip to first unread message

Bram Moolenaar

unread,
Apr 13, 2020, 12:26:07 PM4/13/20
to vim...@googlegroups.com

Patch 8.2.0573
Problem: using :version twice leaks memory
Solution: Only initialize variables once. (Dominique Pelle, closes #5917)
Files: src/testdir/Make_all.mak, src/testdir/test_alot.vim,
src/testdir/test_version.vim, src/version.c, src/globals.h


*** ../vim-8.2.0572/src/testdir/Make_all.mak 2020-04-07 20:53:35.218912046 +0200
--- src/testdir/Make_all.mak 2020-04-13 18:17:17.736069275 +0200
***************
*** 285,290 ****
--- 285,291 ----
test_utf8 \
test_utf8_comparisons \
test_vartabs \
+ test_version \
$(TEST_VIM9) \
test_viminfo \
test_vimscript \
*** ../vim-8.2.0572/src/testdir/test_alot.vim 2020-03-19 18:46:53.956641477 +0100
--- src/testdir/test_alot.vim 2020-04-13 18:17:17.736069275 +0200
***************
*** 32,35 ****
--- 32,36 ----
source test_tagcase.vim
source test_tagfunc.vim
source test_unlet.vim
+ source test_version.vim
source test_wnext.vim
*** ../vim-8.2.0572/src/testdir/test_version.vim 2020-04-13 18:24:31.530464173 +0200
--- src/testdir/test_version.vim 2020-04-13 18:17:17.736069275 +0200
***************
*** 0 ****
--- 1,10 ----
+ " Test :version Ex command
+
+ func Test_version()
+ " version should always return the same string.
+ let v1 = execute('version')
+ let v2 = execute('version')
+ call assert_equal(v1, v2)
+
+ call assert_match("^\n\nVIM - Vi IMproved .*", v1)
+ endfunc
*** ../vim-8.2.0572/src/version.c 2020-04-13 18:13:30.232982723 +0200
--- src/version.c 2020-04-13 18:18:25.403809435 +0200
***************
*** 54,72 ****
void
init_longVersion(void)
{
- char *date_time = __DATE__ " " __TIME__;
- char *msg = _("%s (%s, compiled %s)");
- size_t len = strlen(msg)
- + strlen(VIM_VERSION_LONG_ONLY)
- + strlen(VIM_VERSION_DATE_ONLY)
- + strlen(date_time);
-
- longVersion = alloc(len);
if (longVersion == NULL)
! longVersion = VIM_VERSION_LONG;
! else
! vim_snprintf(longVersion, len, msg,
! VIM_VERSION_LONG_ONLY, VIM_VERSION_DATE_ONLY, date_time);
}
# endif
#else
--- 54,75 ----
void
init_longVersion(void)
{
if (longVersion == NULL)
! {
! char *date_time = __DATE__ " " __TIME__;
! char *msg = _("%s (%s, compiled %s)");
! size_t len = strlen(msg)
! + strlen(VIM_VERSION_LONG_ONLY)
! + strlen(VIM_VERSION_DATE_ONLY)
! + strlen(date_time);
!
! longVersion = alloc(len);
! if (longVersion == NULL)
! longVersion = VIM_VERSION_LONG;
! else
! vim_snprintf(longVersion, len, msg,
! VIM_VERSION_LONG_ONLY, VIM_VERSION_DATE_ONLY, date_time);
! }
}
# endif
#else
*** ../vim-8.2.0572/src/globals.h 2020-04-06 22:12:57.137652853 +0200
--- src/globals.h 2020-04-13 18:22:51.162824700 +0200
***************
*** 1258,1264 ****
#if defined(HAVE_DATE_TIME) && defined(VMS) && defined(VAXC)
extern char longVersion[];
#else
! EXTERN char *longVersion;
#endif

/*
--- 1258,1264 ----
#if defined(HAVE_DATE_TIME) && defined(VMS) && defined(VAXC)
extern char longVersion[];
#else
! EXTERN char *longVersion INIT(= NULL);
#endif

/*
*** ../vim-8.2.0572/src/version.c 2020-04-13 18:13:30.232982723 +0200
--- src/version.c 2020-04-13 18:18:25.403809435 +0200
***************
*** 740,741 ****
--- 743,746 ----
{ /* Add new patch number below this line */
+ /**/
+ 573,
/**/

--
If you don't get everything you want, think of
everything you didn't get and don't want.

/// Bram Moolenaar -- Br...@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
Reply all
Reply to author
Forward
0 new messages