# HG changeset patch # User Matti Hamalainen # Date 1287934102 -10800 # Node ID 8af4072dc31a1375cffbe7cd96980c299b88456b # Parent 1323a7f88c211997f581c885dc9a9110c82c76ab Fix Win32/MinGW/PDcurses issues. diff -r 1323a7f88c21 -r 8af4072dc31a Makefile.w32 --- a/Makefile.w32 Sat Oct 23 02:55:45 2010 +0300 +++ b/Makefile.w32 Sun Oct 24 18:28:22 2010 +0300 @@ -6,11 +6,12 @@ # C-compiler, flags and linker flags CC=gcc CFLAGS=-DHAVE_STRING_H -Ipdcurses -LDFLAGS=-L/usr/local/i386-mingw32/lib/ pdcurses/pdcurses.a -liberty -lws2_32 -s +LDFLAGS=-L/usr/local/i386-mingw32/lib/ -lmingw32 pdcurses/libpdcurses.a -liberty -lws2_32 -s # Miscellaneous EXEEXT=.exe OBJPATH=./win32/ -BINPATH=./win32/ +#BINPATH=./win32/ +BINPATH=/misc/wine_c/ include Makefile.gen diff -r 1323a7f88c21 -r 8af4072dc31a nnchat.c --- a/nnchat.c Sat Oct 23 02:55:45 2010 +0300 +++ b/nnchat.c Sun Oct 24 18:28:22 2010 +0300 @@ -175,8 +175,15 @@ if ((tmpTime = localtime(&timeStamp)) != NULL) { strftime(tmpStr, sizeof(tmpStr), "%H:%M:%S", tmpTime); } - + +#ifdef __WIN32 + /* PDCurses does not like the hack used for ncurses to get a specific + * colour background .. so we just use something else, but uglier. :| + */ + wbkgdset(statusWin, A_REVERSE | COLOR_PAIR(13)); +#else wbkgdset(statusWin, 0x0d00); +#endif werase(statusWin); wattrset(statusWin, A_BOLD); @@ -246,7 +253,7 @@ waddch(win, ((unsigned char) *s) | col); s++; } else { - while (*s && isdigit((int) *s)) { + while (*s >= '0' && *s <= '9') { val *= 10; val += (*s - '0'); s++; @@ -261,6 +268,10 @@ } } } else { +#ifdef __WIN32 + /* A little hack for win32 + PDCurses */ + if (*s != '\r') +#endif waddch(win, ((unsigned char) *s) | col); s++; } @@ -798,6 +809,7 @@ meta(stdscr, TRUE); timeout(SET_DELAY); curVis = curs_set(0); + if (has_colors()) { start_color(); @@ -817,7 +829,6 @@ init_pair(14, COLOR_BLUE, COLOR_RED); init_pair(15, COLOR_MAGENTA, COLOR_RED); init_pair(16, COLOR_CYAN, COLOR_RED); - } cursesInit = TRUE;