diff src/term.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 773d627cac0b
children bcc132f80109
line wrap: on
line diff
--- 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"));