commit d71791a11a260ca81067d63d69b5970078fffb6d
parent 5931f2bc4ac319e5fa617b36cbe5305228125c11
Author: zeertzjq <zeertzjq@outlook.com>
Date: Mon, 11 Mar 2024 11:25:00 +0800
vim-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
https://github.com/vim/vim/commit/af7ae8160041e2d17c56945381e9370e7178e596
Co-authored-by: Christian Brabandt <cb@256bit.org>
Diffstat:
2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/src/nvim/ex_cmds2.c b/src/nvim/ex_cmds2.c
@@ -457,8 +457,9 @@ void ex_listdo(exarg_T *eap)
}
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) {
// Autocommands set 'winfixbuf' or sent us to another window
// with it set. Give up.
diff --git a/test/old/testdir/test_winfixbuf.vim b/test/old/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