version 1.2, 2025/02/28 20:51:20
|
version 1.7, 2025/04/09 15:16:50
|
Line 1
|
Line 1
|
/* |
/* |
* * |
* $Id$ |
* * * |
|
* * * |
|
* *************** |
|
* * * * * |
|
* * MUMPS * |
|
* * * * * |
|
* *************** |
|
* * * |
|
* * * |
|
* * |
|
* |
|
* global_dispatch.c |
|
* global handler dispatch module |
* global handler dispatch module |
* |
* |
* |
* |
* 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.7 2025/04/09 15:16:50 snw |
|
* Fix buffer overruns in mref_to_external and ssvn.c |
|
* |
|
* Revision 1.6 2025/03/29 16:50:42 snw |
|
* Back to cvs-current as version for development; temp fix for double-free issue in global_dispatch |
|
* |
|
* Revision 1.5 2025/03/24 04:13:11 snw |
|
* Replace action macro dat with fra_dat to avoid symbol conflict on OS/2 |
|
* |
|
* Revision 1.4 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 <stdlib.h> |
#include <stdlib.h> |
Line 197 void global (short action, char *key, ch
|
Line 201 void global (short action, char *key, ch
|
name[i] = '\0'; |
name[i] = '\0'; |
|
|
snprintf (mapk_buf, STRLEN - 1, "^$SYSTEM\202MAPPINGS\202GLOBAL\202%s\201", name); |
snprintf (mapk_buf, STRLEN - 1, "^$SYSTEM\202MAPPINGS\202GLOBAL\202%s\201", name); |
global (get_sym, mapk_buf, mapd_buf); |
symtab_shm (get_sym, mapk_buf, mapd_buf); |
|
|
stcnv_m2c (mapd_buf); |
stcnv_m2c (mapd_buf); |
|
|
Line 429 void global (short action, char *key, ch
|
Line 433 void global (short action, char *key, ch
|
case get_sym: |
case get_sym: |
sprintf (an, "GET"); |
sprintf (an, "GET"); |
break; |
break; |
case dat: |
case fra_dat: |
sprintf (an, "DATA"); |
sprintf (an, "DATA"); |
break; |
break; |
case fra_order: |
case fra_order: |
Line 471 void global (short action, char *key, ch
|
Line 475 void global (short action, char *key, ch
|
evt_enqueue (ev_id, EVT_CLS_TRIGGER, 0); |
evt_enqueue (ev_id, EVT_CLS_TRIGGER, 0); |
|
|
free (k_buf); |
free (k_buf); |
free (d_buf); |
/* free (d_buf); */ |
} |
} |
|
|
free (old_value); |
free (old_value); |