--- freem/src/init.c 2025/05/16 04:02:14 1.15 +++ freem/src/init.c 2026/03/14 21:04:51 1.17 @@ -1,5 +1,5 @@ /* - * $Id: init.c,v 1.15 2025/05/16 04:02:14 snw Exp $ + * $Id: init.c,v 1.17 2026/03/14 21:04:51 snw Exp $ * FreeM initialization * * @@ -24,6 +24,12 @@ * along with FreeM. If not, see . * * $Log: init.c,v $ + * Revision 1.17 2026/03/14 21:04:51 snw + * Fix segfault in OPEN command with I/O channel specified but no file + * + * Revision 1.16 2026/01/07 19:51:33 snw + * Fix segfault in reverse $QUERY + * * Revision 1.15 2025/05/16 04:02:14 snw * Make FreeM build on macOS on Apple Silicon * @@ -80,14 +86,18 @@ # endif # define termio termios # else -# if !defined(MSDOS) +# if !defined(MSDOS) && !defined(__linux__) # include +# else +# include +# define termio termios # endif # endif #else # include #endif + #if defined(__APPLE__) # define termio termios # define TCGETA TIOCGETA @@ -613,6 +623,7 @@ void init_io (void) else { dev[HOME][0] = EOL; /* ...we are in a pipe */ } + for (i = 5; i <= MAXDEV; i++) dev[i][0] = EOL; #else #if defined(__AMIGA) strcpy (dev[HOME], "CONSOLE:");