Mercurial > vim
comparison 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 |
comparison
equal
deleted
inserted
replaced
9067:5b17dee417e5 | 9068:0a3bc9fdea20 |
---|---|
2628 && s[i] != NUL | 2628 && s[i] != NUL |
2629 && (STRCMP(s + i + 1, "%p1%dm") == 0 | 2629 && (STRCMP(s + i + 1, "%p1%dm") == 0 |
2630 || STRCMP(s + i + 1, "%dm") == 0) | 2630 || STRCMP(s + i + 1, "%dm") == 0) |
2631 && (s[i] == '3' || s[i] == '4')) | 2631 && (s[i] == '3' || s[i] == '4')) |
2632 { | 2632 { |
2633 sprintf(buf, | |
2634 #ifdef TERMINFO | 2633 #ifdef TERMINFO |
2635 "%s%s%%p1%%dm", | 2634 char *format = "%s%s%%p1%%dm"; |
2636 #else | 2635 #else |
2637 "%s%s%%dm", | 2636 char *format = "%s%s%%dm"; |
2638 #endif | 2637 #endif |
2638 sprintf(buf, format, | |
2639 i == 2 ? IF_EB("\033[", ESC_STR "[") : "\233", | 2639 i == 2 ? IF_EB("\033[", ESC_STR "[") : "\233", |
2640 s[i] == '3' ? (n >= 16 ? "38;5;" : "9") | 2640 s[i] == '3' ? (n >= 16 ? "38;5;" : "9") |
2641 : (n >= 16 ? "48;5;" : "10")); | 2641 : (n >= 16 ? "48;5;" : "10")); |
2642 OUT_STR(tgoto(buf, 0, n >= 16 ? n : n - 8)); | 2642 OUT_STR(tgoto(buf, 0, n >= 16 ? n : n - 8)); |
2643 } | 2643 } |