--- freem/src/init.c 2025/05/16 04:02:14 1.15
+++ freem/src/init.c 2026/03/19 19:03:58 1.18
@@ -1,5 +1,5 @@
/*
- * $Id: init.c,v 1.15 2025/05/16 04:02:14 snw Exp $
+ * $Id: init.c,v 1.18 2026/03/19 19:03:58 snw Exp $
* FreeM initialization
*
*
@@ -24,6 +24,15 @@
* along with FreeM. If not, see .
*
* $Log: init.c,v $
+ * Revision 1.18 2026/03/19 19:03:58 snw
+ * Attempt to rectify terminal corruption problem when the user performs a gracious exit
+ *
+ * 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 +89,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 +626,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:");
@@ -754,9 +768,7 @@ void cleanup (void)
unlink (pid_file_path);
}
- }
-
-
+ }
free (buff); /* free previously allocated space */
free (svntable);