The ncurses term.h header has logic in it to detect if nucrses.h has
already been included and void defining things when it has. But since
setterm includes term.h and the ncurses.h, it doesn't work and we can
get fun build-time warnings like:
CC term-utils/setterm-setterm.o
In file included from term-utils/setterm.c:109:0:
/usr/include/ncursesw/ncurses.h:827:12: warning: redundant redeclaration of 'tigetflag' [-Wredundant-decls]
extern NCURSES_EXPORT(int) tigetflag (NCURSES_CONST char *); /* implemented */
^
In file included from term-utils/setterm.c:106:0:
/usr/include/ncursesw/term.h:775:12: note: previous declaration of 'tigetflag' was here
extern NCURSES_EXPORT(int) tigetflag (NCURSES_CONST char *);
^
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
#include <termios.h>
#include <string.h>
#include <fcntl.h>
+
#ifndef NCURSES_CONST
#define NCURSES_CONST const /* define before including term.h */
#endif
-#include <term.h>
-
#ifdef HAVE_NCURSES_H
#include <ncurses.h>
#elif defined(HAVE_NCURSES_NCURSES_H)
#include <ncurses/ncurses.h>
#endif
+/* must include after ncurses.h */
+#include <term.h>
#include <sys/param.h> /* for MAXPATHLEN */
#include <sys/ioctl.h>