diff src/tag.c @ 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 a2aca019ba48
children f094d4085014
line wrap: on
line diff
--- 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;
 		    }