changeset 9068:0a3bc9fdea20 v7.4.1819

commit https://github.com/vim/vim/commit/827b165b2aebad2cfe98cc6d5804c6c0fe8afd89 Author: Bram Moolenaar <Bram@vim.org> Date: Thu May 5 18:14:03 2016 +0200 patch 7.4.1819 Problem: Compiler warnings when sprintf() is a macro. Solution: Don't interrupt sprintf() with an #ifdef. (Michael Jarvis, closes https://github.com/vim/vim/issues/788)
author Christian Brabandt <cb@256bit.org>
date Thu, 05 May 2016 18:15:05 +0200
parents 5b17dee417e5
children a967b144db12
files src/fileio.c src/tag.c src/term.c src/version.c
diffstat 4 files changed, 22 insertions(+), 18 deletions(-) [+]
line wrap: on
line diff
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -5230,14 +5230,14 @@ msg_add_lines(
     if (insert_space)
 	*p++ = ' ';
     if (shortmess(SHM_LINES))
+#ifdef LONG_LONG_OFF_T
 	sprintf((char *)p,
-#ifdef LONG_LONG_OFF_T
-		"%ldL, %lldC", lnum, (long long)nchars
+		"%ldL, %lldC", lnum, (long long)nchars);
 #else
+	sprintf((char *)p,
 		/* Explicit typecast avoids warning on Mac OS X 10.6 */
-		"%ldL, %ldC", lnum, (long)nchars
-#endif
-		);
+		"%ldL, %ldC", lnum, (long)nchars);
+#endif
     else
     {
 	if (lnum == 1)
@@ -5248,14 +5248,14 @@ msg_add_lines(
 	if (nchars == 1)
 	    STRCPY(p, _("1 character"));
 	else
+#ifdef LONG_LONG_OFF_T
 	    sprintf((char *)p,
-#ifdef LONG_LONG_OFF_T
-		    _("%lld characters"), (long long)nchars
+		    _("%lld characters"), (long long)nchars);
 #else
+	    sprintf((char *)p,
 		    /* Explicit typecast avoids warning on Mac OS X 10.6 */
-		    _("%ld characters"), (long)nchars
-#endif
-		    );
+		    _("%ld characters"), (long)nchars);
+#endif
     }
 }
 
--- a/src/tag.c
+++ b/src/tag.c
@@ -2264,6 +2264,7 @@ parse_line:
 		if (ga_grow(&ga_match[mtt], 1) == OK)
 		{
 		    int len;
+		    int heuristic;
 
 		    if (help_only)
 		    {
@@ -2293,13 +2294,14 @@ parse_line:
 			    p[len] = '@';
 			    STRCPY(p + len + 1, help_lang);
 #endif
-			    sprintf((char *)p + len + 1 + ML_EXTRA, "%06d",
-				    help_heuristic(tagp.tagname,
-					match_re ? matchoff : 0, !match_no_ic)
+
+			    heuristic = help_heuristic(tagp.tagname,
+					match_re ? matchoff : 0, !match_no_ic);
 #ifdef FEAT_MULTI_LANG
-				    + help_pri
+			    heuristic += help_pri;
 #endif
-				    );
+			    sprintf((char *)p + len + 1 + ML_EXTRA, "%06d",
+								   heuristic);
 			}
 			*tagp.tagname_end = TAB;
 		    }
--- a/src/term.c
+++ b/src/term.c
@@ -2630,12 +2630,12 @@ term_color(char_u *s, int n)
 		  || STRCMP(s + i + 1, "%dm") == 0)
 	      && (s[i] == '3' || s[i] == '4'))
     {
-	sprintf(buf,
 #ifdef TERMINFO
-		"%s%s%%p1%%dm",
+	char *format = "%s%s%%p1%%dm";
 #else
-		"%s%s%%dm",
+	char *format = "%s%s%%dm";
 #endif
+	sprintf(buf, format,
 		i == 2 ? IF_EB("\033[", ESC_STR "[") : "\233",
 		s[i] == '3' ? (n >= 16 ? "38;5;" : "9")
 			    : (n >= 16 ? "48;5;" : "10"));
--- a/src/version.c
+++ b/src/version.c
@@ -754,6 +754,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1819,
+/**/
     1818,
 /**/
     1817,