|
|
| version 1.8, 2025/03/24 01:52:30 | version 1.12, 2025/03/24 04:05:36 |
|---|---|
| Line 25 | Line 25 |
| * along with FreeM. If not, see <https://www.gnu.org/licenses/>. | * along with FreeM. If not, see <https://www.gnu.org/licenses/>. |
| * | * |
| * $Log$ | * $Log$ |
| * Revision 1.12 2025/03/24 04:05:36 snw | |
| * Replace crlf with frm_crlf to avoid symbol conflict with readline on OS/2 | |
| * | |
| * Revision 1.11 2025/03/24 02:00:30 snw | |
| * Work around some OS/2 incompatibilities in service.c | |
| * | |
| * Revision 1.10 2025/03/24 01:55:46 snw | |
| * Work around some OS/2 incompatibilities in service.c | |
| * | |
| * Revision 1.9 2025/03/24 01:54:09 snw | |
| * Work around some OS/2 incompatibilities in set_break and set_zbreak | |
| * | |
| * Revision 1.8 2025/03/24 01:52:30 snw | * Revision 1.8 2025/03/24 01:52:30 snw |
| * Work around some OS/2 incompatibilities in set_break and set_zbreak | * Work around some OS/2 incompatibilities in set_break and set_zbreak |
| * | * |
| Line 82 int scosgr (short att, short bwflag); | Line 94 int scosgr (short att, short bwflag); |
| # if !defined(MSDOS) | # if !defined(MSDOS) |
| # include <termio.h> | # include <termio.h> |
| # endif | # endif |
| # if defined(__OS2__) | |
| # include <termios.h> | |
| # define termio termios | |
| # endif | |
| # endif | # endif |
| #else | #else |
| # include <termios.h> | # include <termios.h> |
| Line 984 end: | Line 1000 end: |
| void writeHOME (char *text) | void writeHOME (char *text) |
| { | { |
| #if !defined(__OS2__) | |
| struct winsize terminal_window; | struct winsize terminal_window; |
| #endif | |
| static char initflag = TRUE; /* initialisation flag */ | static char initflag = TRUE; /* initialisation flag */ |
| static char esc = 0; /* esc processing flag */ | static char esc = 0; /* esc processing flag */ |
| static char dcs = 0; /* device control processing flag */ | static char dcs = 0; /* device control processing flag */ |
| Line 1045 void writeHOME (char *text) | Line 1063 void writeHOME (char *text) |
| * and the 'hardcopy function' | * and the 'hardcopy function' |
| */ | */ |
| if (initflag) { | if (initflag) { |
| #if !defined(__OS2__) | |
| /* TODO: why are we casting to void here? */ | /* TODO: why are we casting to void here? */ |
| (void) ioctl(STDOUT_FILENO, TIOCGWINSZ, &terminal_window); | (void) ioctl(STDOUT_FILENO, TIOCGWINSZ, &terminal_window); |
| n_lines = terminal_window.ws_row; | n_lines = terminal_window.ws_row; |
| n_columns = terminal_window.ws_col; | n_columns = terminal_window.ws_col; |
| #else | |
| n_lines = 25; | |
| n_columns = 80; | |
| #endif | |
| screen = (struct vtstyp *) calloc (1, sizeof (struct vtstyp)); | screen = (struct vtstyp *) calloc (1, sizeof (struct vtstyp)); |
| ris (screen); | ris (screen); |
| Line 3299 void write_m (char *text) | Line 3322 void write_m (char *text) |
| ypos[io]++; | ypos[io]++; |
| if (crlf[io]) xpos[io] = 0; | if (frm_crlf[io]) xpos[io] = 0; |
| continue; | continue; |
| Line 4130 void read_m (char *stuff, long read_time | Line 4153 void read_m (char *stuff, long read_time |
| if (single) break; | if (single) break; |
| if (ch == LF && crlf[io]) { | if (ch == LF && frm_crlf[io]) { |
| i--; | i--; |
| continue; | continue; |
| } | } |
| Line 4506 void set_io (short action) /* set io_ | Line 4529 void set_io (short action) /* set io_ |
| void set_break (short break_char) | void set_break (short break_char) |
| { | { |
| #if !defined(__OS2__) | |
| struct termios termios_p; | struct termios termios_p; |
| tcgetattr (0, &termios_p); | tcgetattr (0, &termios_p); |
| Line 4513 void set_break (short break_char) | Line 4538 void set_break (short break_char) |
| termios_p.c_cc[VINTR] = break_char; /* interrupt = CTRL/C */ | termios_p.c_cc[VINTR] = break_char; /* interrupt = CTRL/C */ |
| tcsetattr (0, TCSADRAIN, &termios_p); /* set paramters */ | tcsetattr (0, TCSADRAIN, &termios_p); /* set paramters */ |
| #endif | |
| return; | return; |
| } /* end of set_break() */ | } /* end of set_break() */ |
| void set_zbreak (short quit_char) | void set_zbreak (short quit_char) |
| { | { |
| #if !defined(__OS2__) | |
| struct termios termios_p; | struct termios termios_p; |
| tcgetattr (0, &termios_p); | tcgetattr (0, &termios_p); |
| Line 4528 void set_zbreak (short quit_char) | Line 4553 void set_zbreak (short quit_char) |
| termios_p.c_cc[VQUIT] = quit_char; | termios_p.c_cc[VQUIT] = quit_char; |
| tcsetattr (0, TCSADRAIN, &termios_p); /* set paramters */ | tcsetattr (0, TCSADRAIN, &termios_p); /* set paramters */ |
| #endif | |
| return; | return; |
| } /* end of set_zbreak() */ | } /* end of set_zbreak() */ |