# HG changeset patch # User Christian Brabandt # Date 1462464905 -7200 # Node ID 0a3bc9fdea20305521d01814689b5a37d8de6bd6 # Parent 5b17dee417e5f6882e1ac0fb25f3cd840196ad08 commit https://github.com/vim/vim/commit/827b165b2aebad2cfe98cc6d5804c6c0fe8afd89 Author: Bram Moolenaar 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) diff --git a/src/fileio.c b/src/fileio.c --- 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 } } diff --git a/src/tag.c b/src/tag.c --- 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; } diff --git a/src/term.c b/src/term.c --- 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")); diff --git a/src/version.c b/src/version.c --- 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,