version 1.2, 2025/02/28 20:51:20
|
version 1.7, 2025/04/13 04:22:43
|
Line 1
|
Line 1
|
/* |
/* |
* * |
* $Id$ |
* * * |
* ^$SYSTEM ssvn |
* * * |
|
* *************** |
|
* * * * * |
|
* * MUMPS * |
|
* * * * * |
|
* *************** |
|
* * * |
|
* * * |
|
* * |
|
* |
|
* ssvn_system.c |
|
* ^$SYSTEM ssv |
|
* |
* |
* |
* |
* 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/13 04:22:43 snw |
|
* Fix snprintf calls |
|
* |
|
* Revision 1.6 2025/04/06 03:38:05 snw |
|
* Prepare for adding packaging functionality to fmd |
|
* |
|
* 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: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 <inttypes.h> |
#include <inttypes.h> |
Line 56 void ssvn_system_set(char *sub)
|
Line 60 void ssvn_system_set(char *sub)
|
|
|
d_buf[0] = '\201'; |
d_buf[0] = '\201'; |
d_buf[1] = '\201'; |
d_buf[1] = '\201'; |
snprintf (k_buf, 254, "^$SYSTEM\202%s\201", sub); |
snprintf (k_buf, sizeof (k_buf) - 1, "^$SYSTEM\202%s\201", sub); |
|
|
symtab_shm (set_sym, k_buf, d_buf); |
symtab_shm (set_sym, k_buf, d_buf); |
|
|
Line 109 void ssvn_system_update(void)
|
Line 113 void ssvn_system_update(void)
|
strcpy (line_ns, line + 1); |
strcpy (line_ns, line + 1); |
line_ns[strlen (line_ns) - 2] = '\0'; |
line_ns[strlen (line_ns) - 2] = '\0'; |
|
|
snprintf (k_buf, 254, "^$SYSTEM\202NAMESPACE\202%s\201", line_ns); |
snprintf (k_buf, sizeof (k_buf) - 1, "^$SYSTEM\202NAMESPACE\202%s\201", line_ns); |
symtab_shm (set_sym, k_buf, "\201"); |
symtab_shm (set_sym, k_buf, "\201"); |
} |
} |
|
|
Line 117 void ssvn_system_update(void)
|
Line 121 void ssvn_system_update(void)
|
|
|
fclose (fp); |
fclose (fp); |
|
|
snprintf (k_buf, 254, "^$SYSTEM\202CHANNELS\202TERMINAL\201"); |
snprintf (k_buf, sizeof (k_buf) - 1, "^$SYSTEM\202CHANNELS\202TERMINAL\201"); |
snprintf (d_buf, 254, "0,0\201"); |
snprintf (d_buf, sizeof (d_buf) - 1, "0,0\201"); |
symtab_shm (set_sym, k_buf, d_buf); |
symtab_shm (set_sym, k_buf, d_buf); |
|
|
snprintf (k_buf, 254, "^$SYSTEM\202CHANNELS\202FILE\201"); |
snprintf (k_buf, sizeof (k_buf) - 1, "^$SYSTEM\202CHANNELS\202FILE\201"); |
snprintf (d_buf, 254, "1,%d\201", FIRSTSCK - 1); |
snprintf (d_buf, sizeof (d_buf) - 1, "1,%d\201", FIRSTSCK - 1); |
symtab_shm (set_sym, k_buf, d_buf); |
symtab_shm (set_sym, k_buf, d_buf); |
|
|
snprintf (k_buf, 254, "^$SYSTEM\202CHANNELS\202SOCKET\201"); |
snprintf (k_buf, sizeof (k_buf) - 1, "^$SYSTEM\202CHANNELS\202SOCKET\201"); |
snprintf (d_buf, 254, "%d,%d\201", FIRSTSCK, MAXDEV - 1); |
snprintf (d_buf, sizeof (d_buf) - 1, "%d,%d\201", FIRSTSCK, MAXDEV - 1); |
symtab_shm (set_sym, k_buf, d_buf); |
symtab_shm (set_sym, k_buf, d_buf); |
|
|
ssvn_job_update (); |
ssvn_job_update (); |
Line 376 void ssvn_system(short action, char *key
|
Line 380 void ssvn_system(short action, char *key
|
} |
} |
else if (strcmp (r->subscripts[0], "ZDATE_FORMAT") == 0) { |
else if (strcmp (r->subscripts[0], "ZDATE_FORMAT") == 0) { |
get_conf ("SYSTEM", "zdate_format", data); |
get_conf ("SYSTEM", "zdate_format", data); |
stcnv_c2m (data); |
stcnv_c2m (data); |
|
|
|
|
break; |
break; |
} |
} |
Line 437 void ssvn_system(short action, char *key
|
Line 440 void ssvn_system(short action, char *key
|
merr_clear (); |
merr_clear (); |
goto done; |
goto done; |
|
|
case dat: |
case fra_dat: |
symtab_shm (action, key, data); |
symtab_shm (action, key, data); |
merr_clear (); |
merr_clear (); |
goto done; |
goto done; |