From 7c4d8375a05ffaf58e1b6b5789758a2fcfeb3b87 Mon Sep 17 00:00:00 2001 From: hpa Date: Wed, 1 Dec 2004 00:40:16 +0000 Subject: [PATCH] Make the console behave the same as com32 when compiling for Linux --- com32/modules/fancyhello.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/com32/modules/fancyhello.c b/com32/modules/fancyhello.c index 42c04d9..5cfc064 100644 --- a/com32/modules/fancyhello.c +++ b/com32/modules/fancyhello.c @@ -30,14 +30,22 @@ static void console_init(void) { /* Write both to the ANSI console and the serial port, if configured */ openconsole(&dev_stdcon_r, &dev_ansiserial_w); - printf("\033[20h"); /* Automatically convert \r\n -> \n */ } #else +#include +#include + static void console_init(void) { - /* Do Linux initialization (none needed) */ + struct termios tio; + + /* Set the termios flag so we behave the same as libcom32 */ + tcgetattr(0, &tio); + tio.c_iflag &= ~ICRNL; + tio.c_iflag |= IGNCR; + tcsetattr(0, TCSANOW, &tio); } #endif @@ -47,6 +55,7 @@ int main(void) char buffer[1024]; console_init(); + printf("\033[20h"); /* Automatically convert \r\n -> \n */ printf("\033[1;33;44m *** \033[37mHello, World!\033[33m *** \033[0m\n"); -- 2.7.4