version 1.2, 2025/01/19 04:27:45
|
version 1.8, 2025/03/24 04:44:55
|
Line 1
|
Line 1
|
/* |
/* |
* * |
* $Id$ |
* * * |
|
* * * |
|
* *************** |
|
* * * * * |
|
* * MUMPS * |
|
* * * * * |
|
* *************** |
|
* * * |
|
* * * |
|
* * |
|
* |
|
* init.c |
|
* FreeM initialization |
* FreeM initialization |
* |
* |
* |
* |
* Author: Serena Willis <jpw@coherent-logic.com> |
* Author: Serena Willis <snw@coherent-logic.com> |
* Copyright (C) 1998 MUG Deutschland |
* Copyright (C) 1998 MUG Deutschland |
* Copyright (C) 2020 Coherent Logic Development LLC |
* Copyright (C) 2020, 2025 Coherent Logic Development LLC |
* |
* |
* |
* |
* This file is part of FreeM. |
* This file is part of FreeM. |
Line 35
|
Line 23
|
* You should have received a copy of the GNU Affero Public License |
* You should have received a copy of the GNU Affero Public License |
* along with FreeM. If not, see <https://www.gnu.org/licenses/>. |
* along with FreeM. If not, see <https://www.gnu.org/licenses/>. |
* |
* |
|
* $Log$ |
|
* Revision 1.8 2025/03/24 04:44:55 snw |
|
* Don't call ttyname on OS/2 |
|
* |
|
* Revision 1.7 2025/03/24 04:05:36 snw |
|
* Replace crlf with frm_crlf to avoid symbol conflict with readline on OS/2 |
|
* |
|
* Revision 1.6 2025/03/09 19:14:25 snw |
|
* First phase of REUSE compliance and header reformat |
|
* |
|
* |
|
* SPDX-FileCopyrightText: (C) 2025 Coherent Logic Development LLC |
|
* SPDX-License-Identifier: AGPL-3.0-or-later |
**/ |
**/ |
|
|
#include <stdio.h> |
#include <stdio.h> |
Line 49
|
Line 50
|
#include <errno.h> |
#include <errno.h> |
#include <sys/ioctl.h> |
#include <sys/ioctl.h> |
|
|
#if defined(__sun) |
#if !defined(__APPLE__) && !defined(__gnu_hurd__) && !defined(EMSCRIPTEN) |
# include <termio.h> |
# if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__AMIGA) |
|
# include <termios.h> |
|
# if !defined(__AMIGA) |
|
# define TCGETA TIOCGETA |
|
# define TCSETA TIOCSETA |
|
# endif |
|
# define termio termios |
|
# else |
|
# if !defined(MSDOS) |
|
# include <termio.h> |
|
# endif |
|
# endif |
#else |
#else |
# include <termios.h> |
# include <termios.h> |
#endif |
#endif |
Line 541 void init_io (void)
|
Line 553 void init_io (void)
|
sq_modes[0] = '+'; |
sq_modes[0] = '+'; |
for (i = 0; i <= MAXDEV; ug_buf[i++][0] = EOL); /* init read-buffers */ |
for (i = 0; i <= MAXDEV; ug_buf[i++][0] = EOL); /* init read-buffers */ |
|
|
crlf[HOME] = frm_filter; |
frm_crlf[HOME] = frm_filter; |
|
|
if (hardcopy) zbreakon = ENABLE; /* enable CTRL/B */ |
if (hardcopy) zbreakon = ENABLE; /* enable CTRL/B */ |
|
|
set_io (MUMPS); /* set i/o parameters */ |
set_io (MUMPS); /* set i/o parameters */ |
|
|
#if !defined(__AMIGA) |
#if !defined(__AMIGA) && !defined(__OS2__) |
if (ttyname (HOME)) { /* for $IO of HOME */ |
if (ttyname (HOME)) { /* for $IO of HOME */ |
strcpy (dev[HOME], ttyname (HOME)); |
strcpy (dev[HOME], ttyname (HOME)); |
dev[HOME][strlen (dev[HOME])] = EOL; |
dev[HOME][strlen (dev[HOME])] = EOL; |
Line 556 void init_io (void)
|
Line 568 void init_io (void)
|
dev[HOME][0] = EOL; /* ...we are in a pipe */ |
dev[HOME][0] = EOL; /* ...we are in a pipe */ |
} |
} |
#else |
#else |
|
#if defined(__AMIGA) |
strcpy (dev[HOME], "CONSOLE:"); |
strcpy (dev[HOME], "CONSOLE:"); |
|
#else |
|
#if defined(__OS2__) |
|
strcpy (dev[HOME], "CON:"); |
|
#endif |
|
#endif |
#endif |
#endif |
|
|
/* init function keys */ |
/* init function keys */ |