Fix: SE007 Problem: The code that is supposed to deal with the window being resized in TTY mode has been broken somewhere in the many changes to wintty.c since vanilla. This causes any BSD based compile to fail. I've fixed the problem and also included some support for SYSV based systems. It now works on Solaris (SYSV based with lots of BSDisms from SUNOS4). Can't guarantee it will work for all systems, but I can't see why not. Compatible with: Slash'EM 0.0.5E4 Author: J. Ali Harlow, ali@avrc.city.ac.uk Date: 23 Aug 1999 *** win/tty/wintty.c.orig Mon Aug 23 15:03:04 1999 --- win/tty/wintty.c Mon Aug 23 17:33:04 1999 *************** *** 33,39 **** #include "wintty.h" #ifdef CLIPPING /* might want SIGWINCH */ ! # if defined(BSD) || defined(ULTRIX) || defined(AIX_31) || defined(_BULL_SOURCE) #include # endif #endif --- 33,39 ---- #include "wintty.h" #ifdef CLIPPING /* might want SIGWINCH */ ! # if defined(BSD) || defined(ULTRIX) || defined(AIX_31) || defined(_BULL_SOURCE) || defined(SYSV) #include # endif #endif *************** *** 153,162 **** static char *FDECL(copy_of, (const char *)); static void FDECL(bail, (const char *)); /* __attribute__((noreturn)) */ - #if defined(SIGWINCH) && defined(CLIPPING) - (void) signal(SIGWINCH, winch); - #endif - /* * A string containing all the default commands -- to add to a list * of acceptable inputs. --- 153,158 ---- *************** *** 193,198 **** --- 189,197 ---- int oldLI = LI, oldCO = CO, i; register struct WinDesc *cw; + #ifdef SYSV + (void) signal(SIGWINCH, winch); + #endif getwindowsz(); if((oldLI != LI || oldCO != CO) && ttyDisplay) { ttyDisplay->rows = LI; *************** *** 285,290 **** --- 284,293 ---- ttyDisplay->lastwin = WIN_ERR; + #if defined(SIGWINCH) && defined(CLIPPING) + (void) signal(SIGWINCH, winch); + #endif + /* add one a space forward menu command alias */ add_menu_cmd_alias(' ', MENU_NEXT_PAGE);