| 
 |   
| version 1.4, 2025/03/09 15:20:18 | version 1.8, 2025/03/24 04:05:36 | 
|---|---|
| Line 1 | Line 1 | 
| /* | /* | 
| * * | * $Id$ | 
| * * * | |
| * * * | |
| * *************** | |
| * * * * * | |
| * * MUMPS * | |
| * * * * * | |
| * *************** | |
| * * * | |
| * * * | |
| * * | |
| * | |
| * xecline.c | |
| * freem interpreter proper | * freem interpreter proper | 
| * | * | 
| * | * | 
| * Author: Serena Willis <snw@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:05:36 snw | |
| * Replace crlf with frm_crlf to avoid symbol conflict with readline on OS/2 | |
| * | |
| * Revision 1.7 2025/03/22 22:52:24 snw | |
| * Add STRLEN_GBL macro to manage global string length | |
| * | |
| * Revision 1.6 2025/03/22 21:44:32 snw | |
| * Make the startup messages fewer and add environment name to direct-mode prompt | |
| * | |
| * Revision 1.5 2025/03/09 19:50:47 snw | |
| * Second phase of REUSE compliance and header reformat | |
| * | |
| * | |
| * SPDX-FileCopyrightText: (C) 2025 Coherent Logic Development LLC | |
| * SPDX-License-Identifier: AGPL-3.0-or-later | |
| **/ | **/ | 
| #include <stdlib.h> | #include <stdlib.h> | 
| Line 1076 set: | Line 1080 set: | 
| goto err; | goto err; | 
| } | } | 
| expr (STRING); | expr (STRING); | 
| if (merr () > OK) goto err; | if (merr () > OK) goto err; | 
| stcpy (tmp2, argptr); | stcpy (tmp2, argptr); | 
| Line 4320 use0: /* entry point for proces | Line 4324 use0: /* entry point for proces | 
| break; | break; | 
| case 2: | case 2: | 
| crlf[io] = tvexpr (argptr); | frm_crlf[io] = tvexpr (argptr); | 
| break; | break; | 
| case 3: | case 3: | 
| Line 4422 use_socket: | Line 4426 use_socket: | 
| /* need to evaluate the following 6 lines carefully - smw 2023-10-15 */ | /* need to evaluate the following 6 lines carefully - smw 2023-10-15 */ | 
| if (k != HOME) { | if (k != HOME) { | 
| crlf[k] = FALSE; | frm_crlf[k] = FALSE; | 
| fm_nodelay[k] = FALSE; | fm_nodelay[k] = FALSE; | 
| xpos[k] = 0; | xpos[k] = 0; | 
| ypos[k] = 0; | ypos[k] = 0; | 
| Line 5538 zgo: | Line 5542 zgo: | 
| for (; beg < end; beg += UNSIGN (*beg) + 2) { | for (; beg < end; beg += UNSIGN (*beg) + 2) { | 
| if (crlf[io]) { | if (frm_crlf[io]) { | 
| write_m ("\012\201"); | write_m ("\012\201"); | 
| } | } | 
| else { | else { | 
| Line 5554 zgo: | Line 5558 zgo: | 
| rouins = beg; | rouins = beg; | 
| } | } | 
| if (crlf[io]) { | if (frm_crlf[io]) { | 
| write_m ("\012\201"); | write_m ("\012\201"); | 
| } | } | 
| else { | else { | 
| Line 7210 direct_mode: | Line 7214 direct_mode: | 
| if (quiet_mode == FALSE) { | if (quiet_mode == FALSE) { | 
| if (tp_level == 0) { | if (tp_level == 0) { | 
| snprintf (fmrl_prompt, 255, "\r\n%s> ", nsname); | snprintf (fmrl_prompt, 255, "\r\n%s.%s> ", shm_env, nsname); | 
| } | } | 
| else { | else { | 
| snprintf (fmrl_prompt, 255, "\r\nTL%d:%s> ", tp_level, nsname); | snprintf (fmrl_prompt, 255, "\r\nTL%d:%s.%s> ", tp_level, shm_env, nsname); | 
| } | } | 
| } | } | 
| set_io (UNIX); | set_io (UNIX); |