changeset 34489:4dd6d243e4f7 v9.1.0152

patch 9.1.0152: Coverity complains about ignoring return value Commit: https://github.com/vim/vim/commit/af7ae8160041e2d17c56945381e9370e7178e596 Author: Christian Brabandt <cb@256bit.org> Date: Wed Mar 6 19:31:39 2024 +0100 patch 9.1.0152: Coverity complains about ignoring return value Problem: Coverity complains about ignoring return value of win_split() (after v9.1.150) Solution: Check if win_split() failed, add winfixbuf.res to Makefile
author Christian Brabandt <cb@256bit.org>
date Wed, 06 Mar 2024 21:00:08 +0100
parents bba7ce0467f1
children 95992fc3578f
files src/ex_cmds2.c src/testdir/Make_all.mak src/testdir/test_winfixbuf.vim src/version.c
diffstat 4 files changed, 16 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/ex_cmds2.c
+++ b/src/ex_cmds2.c
@@ -469,15 +469,14 @@ ex_listdo(exarg_T *eap)
 	}
 
 	if (win_valid(prevwin) && !prevwin->w_p_wfb)
-	{
 	    // 'winfixbuf' is set; attempt to change to a window without it.
 	    win_goto(prevwin);
-	}
 	if (curwin->w_p_wfb)
 	{
 	    // Split the window, which will be 'nowinfixbuf', and set curwin to
 	    // that
-	    win_split(0, 0);
+	    if (win_split(0, 0) == FAIL)
+		return; // error message already given
 
 	    if (curwin->w_p_wfb)
 	    {
--- a/src/testdir/Make_all.mak
+++ b/src/testdir/Make_all.mak
@@ -558,6 +558,7 @@ NEW_TESTS_RES = \
 	test_window_cmd.res \
 	test_window_id.res \
 	test_windows_home.res \
+	test_winfixbuf.res \
 	test_wordcount.res \
 	test_writefile.res \
 	test_xxd.res \
--- a/src/testdir/test_winfixbuf.vim
+++ b/src/testdir/test_winfixbuf.vim
@@ -3248,4 +3248,15 @@ func Test_quickfix_changed_split_failed(
   augroup! QfChanged
 endfunc
 
+func Test_bufdo_splitwin_fails()
+  call s:reset_all_buffers()
+  let other = s:make_buffer_pairs()
+  " Make sure there is not enough room to
+  " split the winfixedbuf window
+  let &winheight=&lines
+  let &winminheight=&lines-2
+  call assert_fails(':bufdo echo 1', 'E36:')
+  set winminheight&vim winheight&vim
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    152,
+/**/
     151,
 /**/
     150,