changeset 7009:286fd54c7ae3 v7.4.822

patch 7.4.822 Problem: More problems reported by coverity. Solution: Avoid the warnings. (Christian Brabandt)
author Bram Moolenaar <bram@vim.org>
date Tue, 11 Aug 2015 19:14:00 +0200
parents 7ce1f4e998bb
children f28fa3fc6821
files src/eval.c src/ex_cmds.c src/ex_cmds2.c src/ex_getln.c src/fold.c src/gui.c src/gui_w16.c src/gui_w32.c src/if_cscope.c src/if_xcmdsrv.c src/move.c src/normal.c src/os_unix.c src/regexp.c src/syntax.c src/ui.c src/version.c src/window.c
diffstat 18 files changed, 46 insertions(+), 45 deletions(-) [+]
line wrap: on
line diff
--- a/src/eval.c
+++ b/src/eval.c
@@ -6736,7 +6736,7 @@ list_join_inner(gap, l, sep, echo_style,
 	len = (int)STRLEN(s);
 	sumlen += len;
 
-	ga_grow(join_gap, 1);
+	(void)ga_grow(join_gap, 1);
 	p = ((join_T *)join_gap->ga_data) + (join_gap->ga_len++);
 	if (tofree != NULL || s != numbuf)
 	{
@@ -19590,7 +19590,7 @@ error:
 		    goto error;
 	    }
 
-	    ga_grow(&ga, cplen);
+	    (void)ga_grow(&ga, cplen);
 	    mch_memmove((char *)ga.ga_data + ga.ga_len, cpstr, (size_t)cplen);
 	    ga.ga_len += cplen;
 
@@ -19610,7 +19610,7 @@ error:
     }
 
     /* add a terminating NUL */
-    ga_grow(&ga, 1);
+    (void)ga_grow(&ga, 1);
     ga_append(&ga, NUL);
 
     rettv->vval.v_string = ga.ga_data;
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -6856,7 +6856,8 @@ helptags_one(dir, ext, tagfname, add_hel
 	/*
 	 * Sort the tags.
 	 */
-	sort_strings((char_u **)ga.ga_data, ga.ga_len);
+	if (ga.ga_data != NULL)
+	    sort_strings((char_u **)ga.ga_data, ga.ga_len);
 
 	/*
 	 * Check for duplicates.
--- a/src/ex_cmds2.c
+++ b/src/ex_cmds2.c
@@ -3051,7 +3051,7 @@ fopen_noinh_readbin(filename)
     {
 	int fdflags = fcntl(fd_tmp, F_GETFD);
 	if (fdflags >= 0 && (fdflags & FD_CLOEXEC) == 0)
-	    fcntl(fd_tmp, F_SETFD, fdflags | FD_CLOEXEC);
+	    (void)fcntl(fd_tmp, F_SETFD, fdflags | FD_CLOEXEC);
     }
 # endif
 
@@ -3841,7 +3841,7 @@ script_line_start()
     {
 	/* Grow the array before starting the timer, so that the time spent
 	 * here isn't counted. */
-	ga_grow(&si->sn_prl_ga, (int)(sourcing_lnum - si->sn_prl_ga.ga_len));
+	(void)ga_grow(&si->sn_prl_ga, (int)(sourcing_lnum - si->sn_prl_ga.ga_len));
 	si->sn_prl_idx = sourcing_lnum - 1;
 	while (si->sn_prl_ga.ga_len <= si->sn_prl_idx
 		&& si->sn_prl_ga.ga_len < si->sn_prl_ga.ga_maxlen)
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -2312,7 +2312,7 @@ getexmodeline(promptc, cookie, indent)
 add_indent:
 		while (get_indent_str(p, 8, FALSE) < indent)
 		{
-		    ga_grow(&line_ga, 2);  /* one more for the NUL */
+		    (void)ga_grow(&line_ga, 2);  /* one more for the NUL */
 		    p = (char_u *)line_ga.ga_data;
 		    s = skipwhite(p);
 		    mch_memmove(s + 1, s, line_ga.ga_len - (s - p) + 1);
--- a/src/fold.c
+++ b/src/fold.c
@@ -2446,7 +2446,7 @@ foldUpdateIEMSRecurse(gap, level, startl
     if (getlevel == foldlevelMarker && flp->start <= flp->lvl - level
 							      && flp->lvl > 0)
     {
-	foldFind(gap, startlnum - 1, &fp);
+	(void)foldFind(gap, startlnum - 1, &fp);
 	if (fp >= ((fold_T *)gap->ga_data) + gap->ga_len
 						   || fp->fd_top >= startlnum)
 	    fp = NULL;
@@ -2508,7 +2508,7 @@ foldUpdateIEMSRecurse(gap, level, startl
 	    }
 	    if (lvl < level + i)
 	    {
-		foldFind(&fp->fd_nested, flp->lnum - fp->fd_top, &fp2);
+		(void)foldFind(&fp->fd_nested, flp->lnum - fp->fd_top, &fp2);
 		if (fp2 != NULL)
 		    bot = fp2->fd_top + fp2->fd_len - 1 + fp->fd_top;
 	    }
--- a/src/gui.c
+++ b/src/gui.c
@@ -1575,7 +1575,7 @@ gui_set_shellsize(mustset, fit_to_displa
     base_height = gui_get_base_height();
     if (fit_to_display)
 	/* Remember the original window position. */
-	gui_mch_get_winpos(&x, &y);
+	(void)gui_mch_get_winpos(&x, &y);
 
 #ifdef USE_SUN_WORKSHOP
     if (!mustset && usingSunWorkShop
@@ -5366,7 +5366,7 @@ gui_do_findrepl(flags, find_text, repl_t
     {
 	/* Search for the next match. */
 	i = msg_scroll;
-	do_search(NULL, down ? '/' : '?', ga.ga_data, 1L,
+	(void)do_search(NULL, down ? '/' : '?', ga.ga_data, 1L,
 					      SEARCH_MSG + SEARCH_MARK, NULL);
 	msg_scroll = i;	    /* don't let an error message set msg_scroll */
     }
--- a/src/gui_w16.c
+++ b/src/gui_w16.c
@@ -282,7 +282,7 @@ gui_mswin_get_menu_height(
 	    result = MyWindowProc(hwnd, uMsg, wParam, lParam);
 	    if (result == HTCLIENT)
 	    {
-		gui_mch_get_winpos(&x, &y);
+		(void)gui_mch_get_winpos(&x, &y);
 		xPos -= x;
 
 		if (xPos < 48) /*<VN> TODO should use system metric?*/
--- a/src/gui_w32.c
+++ b/src/gui_w32.c
@@ -17,7 +17,7 @@
  * scrollbars, etc.
  *
  * Note: Clipboard stuff, for cutting and pasting text to other windows, is in
- * os_win32.c.	(It can also be done from the terminal version).
+ * winclip.c.	(It can also be done from the terminal version).
  *
  * TODO: Some of the function signatures ought to be updated for Win64;
  * e.g., replace LONG with LONG_PTR, etc.
@@ -76,7 +76,7 @@ gui_mch_set_rendering_options(char_u *s)
 	char_u  name[128];
 	char_u  value[128];
 
-	copy_option_part(&p, item, sizeof(item), ","); 
+	copy_option_part(&p, item, sizeof(item), ",");
 	if (p == NULL)
 	    break;
 	q = &item[0];
@@ -1227,7 +1227,7 @@ set_tabline_font(void)
 			return result;
 		}
 #endif
-		gui_mch_get_winpos(&x, &y);
+		(void)gui_mch_get_winpos(&x, &y);
 		xPos -= x;
 
 		if (xPos < 48) /* <VN> TODO should use system metric? */
--- a/src/if_cscope.c
+++ b/src/if_cscope.c
@@ -1076,8 +1076,8 @@ err_closing:
 /*
  * PRIVATE: cs_find
  *
- * query cscope using command line interface.  parse the output and use tselect
- * to allow choices.  like Nvi, creates a pipe to send to/from query/cscope.
+ * Query cscope using command line interface.  Parse the output and use tselect
+ * to allow choices.  Like Nvi, creates a pipe to send to/from query/cscope.
  *
  * returns TRUE if we jump to a tag or abort, FALSE if not.
  */
@@ -1214,7 +1214,10 @@ cs_find_common(opt, pat, forceit, verbos
 
     nummatches = (int *)alloc(sizeof(int)*csinfo_size);
     if (nummatches == NULL)
+    {
+	vim_free(cmd);
 	return FALSE;
+    }
 
     /* Send query to all open connections, then count the total number
      * of matches so we can alloc all in one swell foop. */
@@ -1289,7 +1292,7 @@ cs_find_common(opt, pat, forceit, verbos
 # ifdef FEAT_WINDOWS
 		if (postponed_split != 0)
 		{
-		    win_split(postponed_split > 0 ? postponed_split : 0,
+		    (void)win_split(postponed_split > 0 ? postponed_split : 0,
 						       postponed_split_flags);
 		    RESET_BINDING(curwin);
 		    postponed_split = 0;
@@ -2085,6 +2088,8 @@ cs_print_tags_priv(matches, cntxts, num_
 
     strcpy(tbuf, matches[0]);
     ptag = strtok(tbuf, "\t");
+    if (ptag == NULL)
+	return;
 
     newsize = (int)(strlen(cstag_msg) + strlen(ptag));
     buf = (char *)alloc(newsize);
--- a/src/if_xcmdsrv.c
+++ b/src/if_xcmdsrv.c
@@ -1265,12 +1265,12 @@ serverEventProc(dpy, eventPtr)
 			/* Initialize the result property. */
 			ga_init2(&reply, 1, 100);
 #ifdef FEAT_MBYTE
-			ga_grow(&reply, 50 + STRLEN(p_enc));
+			(void)ga_grow(&reply, 50 + STRLEN(p_enc));
 			sprintf(reply.ga_data, "%cr%c-E %s%c-s %s%c-r ",
 						   0, 0, p_enc, 0, serial, 0);
 			reply.ga_len = 14 + STRLEN(p_enc) + STRLEN(serial);
 #else
-			ga_grow(&reply, 50);
+			(void)ga_grow(&reply, 50);
 			sprintf(reply.ga_data, "%cr%c-s %s%c-r ",
 							     0, 0, serial, 0);
 			reply.ga_len = 10 + STRLEN(serial);
@@ -1351,15 +1351,10 @@ serverEventProc(dpy, eventPtr)
 		    continue;
 
 		pcPtr->code = code;
-		if (res != NULL)
-		{
-		    res = serverConvert(enc, res, &tofree);
-		    if (tofree == NULL)
-			res = vim_strsave(res);
-		    pcPtr->result = res;
-		}
-		else
-		    pcPtr->result = vim_strsave((char_u *)"");
+		res = serverConvert(enc, res, &tofree);
+		if (tofree == NULL)
+		    res = vim_strsave(res);
+		pcPtr->result = res;
 		break;
 	    }
 	}
--- a/src/move.c
+++ b/src/move.c
@@ -1512,7 +1512,7 @@ scrolldown_clamp()
 	--curwin->w_topline;
 #endif
 #ifdef FEAT_FOLDING
-	hasFolding(curwin->w_topline, &curwin->w_topline, NULL);
+	(void)hasFolding(curwin->w_topline, &curwin->w_topline, NULL);
 #endif
 	--curwin->w_botline;	    /* approximate w_botline */
 	curwin->w_valid &= ~(VALID_WROW|VALID_CROW|VALID_BOTLINE);
--- a/src/normal.c
+++ b/src/normal.c
@@ -2865,10 +2865,8 @@ do_mouse(oap, c, dir, count, fixindent)
 		end_visual.col = leftcol;
 	    else
 		end_visual.col = rightcol;
-	    if (curwin->w_cursor.lnum <
+	    if (curwin->w_cursor.lnum >=
 				    (start_visual.lnum + end_visual.lnum) / 2)
-		end_visual.lnum = end_visual.lnum;
-	    else
 		end_visual.lnum = start_visual.lnum;
 
 	    /* move VIsual to the right column */
@@ -3807,8 +3805,8 @@ clear_showcmd()
 	}
 # ifdef FEAT_FOLDING
 	/* Include closed folds as a whole. */
-	hasFolding(top, &top, NULL);
-	hasFolding(bot, NULL, &bot);
+	(void)hasFolding(top, &top, NULL);
+	(void)hasFolding(bot, NULL, &bot);
 # endif
 	lines = bot - top + 1;
 
@@ -5954,7 +5952,7 @@ nv_scroll(cap)
 		lnum = curwin->w_topline;
 		while (n-- > 0 && lnum < curwin->w_botline - 1)
 		{
-		    hasFolding(lnum, NULL, &lnum);
+		    (void)hasFolding(lnum, NULL, &lnum);
 		    ++lnum;
 		}
 		n = lnum - curwin->w_topline;
@@ -6254,7 +6252,7 @@ nv_gotofile(cap)
     {
 	/* do autowrite if necessary */
 	if (curbufIsChanged() && curbuf->b_nwindows <= 1 && !P_HID(curbuf))
-	    autowrite(curbuf, FALSE);
+	    (void)autowrite(curbuf, FALSE);
 	setpcmark();
 	(void)do_ecmd(0, ptr, NULL, NULL, ECMD_LAST,
 				       P_HID(curbuf) ? ECMD_HIDE : 0, curwin);
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -7001,7 +7001,7 @@ do_xterm_trace()
 	/* Rely on the same mouse code for the duration of this */
 	mouse_code = find_termcode(mouse_name);
 	prev_row = mouse_row;
-	prev_row = mouse_col;
+	prev_col = mouse_col;
 	xterm_trace = 2;
 
 	/* Find the offset of the chars, there might be a scrollbar on the
--- a/src/regexp.c
+++ b/src/regexp.c
@@ -3824,14 +3824,14 @@ bt_regexec_both(line, col, tm)
 	/* Use an item size of 1 byte, since we push different things
 	 * onto the regstack. */
 	ga_init2(&regstack, 1, REGSTACK_INITIAL);
-	ga_grow(&regstack, REGSTACK_INITIAL);
+	(void)ga_grow(&regstack, REGSTACK_INITIAL);
 	regstack.ga_growsize = REGSTACK_INITIAL * 8;
     }
 
     if (backpos.ga_data == NULL)
     {
 	ga_init2(&backpos, sizeof(backpos_T), BACKPOS_INITIAL);
-	ga_grow(&backpos, BACKPOS_INITIAL);
+	(void)ga_grow(&backpos, BACKPOS_INITIAL);
 	backpos.ga_growsize = BACKPOS_INITIAL * 8;
     }
 
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -6670,7 +6670,7 @@ syntime_report()
 	spp = &(SYN_ITEMS(curwin->w_s)[idx]);
 	if (spp->sp_time.count > 0)
 	{
-	    ga_grow(&ga, 1);
+	    (void)ga_grow(&ga, 1);
 	    p = ((time_entry_T *)ga.ga_data) + ga.ga_len;
 	    p->total = spp->sp_time.total;
 	    profile_add(&total_total, &spp->sp_time.total);
--- a/src/ui.c
+++ b/src/ui.c
@@ -2903,7 +2903,7 @@ retnomove:
 		    break;
 		first = FALSE;
 #ifdef FEAT_FOLDING
-		hasFolding(curwin->w_topline, &curwin->w_topline, NULL);
+		(void)hasFolding(curwin->w_topline, &curwin->w_topline, NULL);
 #endif
 #ifdef FEAT_DIFF
 		if (curwin->w_topfill < diff_check(curwin, curwin->w_topline))
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    822,
+/**/
     821,
 /**/
     820,
--- a/src/window.c
+++ b/src/window.c
@@ -141,7 +141,7 @@ do_window(nchar, Prenum, xchar)
 #ifdef FEAT_GUI
 		need_mouse_correct = TRUE;
 #endif
-		win_split((int)Prenum, 0);
+		(void)win_split((int)Prenum, 0);
 		break;
 
 #ifdef FEAT_VERTSPLIT
@@ -159,7 +159,7 @@ do_window(nchar, Prenum, xchar)
 # ifdef FEAT_GUI
 		need_mouse_correct = TRUE;
 # endif
-		win_split((int)Prenum, WSP_VERT);
+		(void)win_split((int)Prenum, WSP_VERT);
 		break;
 #endif
 
@@ -2586,7 +2586,7 @@ win_close_othertab(win, free_buf, tp)
 	return;
 
     /* When closing the last window in a tab page remove the tab page. */
-    if (tp == NULL ? firstwin == lastwin : tp->tp_firstwin == tp->tp_lastwin)
+    if (tp->tp_firstwin == tp->tp_lastwin)
     {
 	if (tp == first_tabpage)
 	    first_tabpage = tp->tp_next;