aboutsummaryrefslogtreecommitdiff
path: root/src/term.c
diff options
context:
space:
mode:
authorNicolas Hillegeer <nicolas@hillegeer.com>2014-02-27 18:57:17 +0100
committerThiago de Arruda <tpadilha84@gmail.com>2014-02-28 11:48:43 -0300
commit3f29a02166878bdbf32b0d638aa0e0c9d83a73cc (patch)
treea1f932447c6a657fff86b1a9823f37db282f2801 /src/term.c
parent6eece5895e4f0c147ef21ebb4d170a54f8694182 (diff)
downloadrneovim-3f29a02166878bdbf32b0d638aa0e0c9d83a73cc.tar.gz
rneovim-3f29a02166878bdbf32b0d638aa0e0c9d83a73cc.tar.bz2
rneovim-3f29a02166878bdbf32b0d638aa0e0c9d83a73cc.zip
MAKE: ask gnulikes to warn and be pedantic + fixes
It seems clang 3.4 thinks the codebase is in fantastic shape and gcc 4.9.0 has only minor niggles, which I fixed: - fix uninitialized member warning: In DEBUG mode the expr member doesn't get properly initialized to NULL. - fix warnings about directive inside of macro's: On some platforms/compilers, sprintf is a macro. Putting macro directives inside of a macro is unportable and gcc 4.9 warns about that. - fix signed vs. unsigned comparison warning: The in-memory table will luckily not even come close to the limits imposed by ssize_t. If it ever reaches that, we've got bigger problems.
Diffstat (limited to 'src/term.c')
-rw-r--r--src/term.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/term.c b/src/term.c
index 5ce3e3ee96..fad1401c0e 100644
--- a/src/term.c
+++ b/src/term.c
@@ -2225,12 +2225,14 @@ static void term_color(char_u *s, int n)
&& (STRCMP(s + i + 1, "%p1%dm") == 0
|| STRCMP(s + i + 1, "%dm") == 0)
&& (s[i] == '3' || s[i] == '4')) {
- sprintf(buf,
+ const char *fmt =
#ifdef TERMINFO
- "%s%s%%p1%%dm",
+ "%s%s%%p1%%dm";
#else
- "%s%s%%dm",
+ "%s%s%%dm";
#endif
+ sprintf(buf,
+ fmt,
i == 2 ? IF_EB("\033[", ESC_STR "[") : "\233",
s[i] == '3' ? (n >= 16 ? "38;5;" : "9")
: (n >= 16 ? "48;5;" : "10"));