Hello all,
may I point out that the flags "-Wall -Werror" prevents tinycurses to compile in case only a serial console has been configured, but no video output. The culprit is an unused but defined variable "c". The naive solution is to condition the creation of "c" by the flag CONFIG_VIDEO_CONSOLE.
Signed-off-by: Mats Erik Andersson mats.andersson@gisladisker.se
Index: libpayload/curses/tinycurses.c =================================================================== --- libpayload/curses/tinycurses.c (revision 3623) +++ libpayload/curses/tinycurses.c (arbetskopia) @@ -736,8 +736,10 @@ for (x = win->_line[y].firstchar; x <= win->_line[y].lastchar; x++) { attr_t attr = win->_line[y].text[x].attr;
+#ifdef CONFIG_VIDEO_CONSOLE unsigned int c = ((int)color_pairs[PAIR_NUMBER(attr)]) << 8; +#endif
#ifdef CONFIG_SERIAL_CONSOLE if (curses_flags & F_ENABLE_SERIAL) {
Mats Erik Andersson schrieb:
Index: libpayload/curses/tinycurses.c
--- libpayload/curses/tinycurses.c (revision 3623) +++ libpayload/curses/tinycurses.c (arbetskopia) @@ -736,8 +736,10 @@ for (x = win->_line[y].firstchar; x <= win->_line[y].lastchar; x++) { attr_t attr = win->_line[y].text[x].attr;
+#ifdef CONFIG_VIDEO_CONSOLE unsigned int c = ((int)color_pairs[PAIR_NUMBER(attr)]) << 8; +#endif
#ifdef CONFIG_SERIAL_CONSOLE if (curses_flags & F_ENABLE_SERIAL) {
how about just moving that variable down to the #ifdef block that uses it? color_pairs[] or attr aren't changed inbetween, afaics.
On Wed, 1 Oct 2008, Patrick Georgi wrote:
Mats Erik Andersson schrieb:
Index: libpayload/curses/tinycurses.c
--- libpayload/curses/tinycurses.c (revision 3623) +++ libpayload/curses/tinycurses.c (arbetskopia) @@ -736,8 +736,10 @@ for (x = win->_line[y].firstchar; x <= win->_line[y].lastchar; x++) { attr_t attr = win->_line[y].text[x].attr; +#ifdef CONFIG_VIDEO_CONSOLE unsigned int c = ((int)color_pairs[PAIR_NUMBER(attr)]) << 8; +#endif #ifdef CONFIG_SERIAL_CONSOLE if (curses_flags & F_ENABLE_SERIAL) {
how about just moving that variable down to the #ifdef block that uses it? color_pairs[] or attr aren't changed inbetween, afaics.
I agree, it seems better to move it down to the video console block where it is actually used. The attached patch does exactly that, and is compile and runtime tested with coreinfo+libpayload+coreboot-v3 under QEMU.
/ulf