--- freem/src/ssvn_system.c 2025/03/09 15:20:18 1.3 +++ freem/src/ssvn_system.c 2025/04/13 04:22:43 1.7 @@ -1,23 +1,11 @@ /* - * * - * * * - * * * - * *************** - * * * * * - * * MUMPS * - * * * * * - * *************** - * * * - * * * - * * - * - * ssvn_system.c - * ^$SYSTEM ssv + * $Id: ssvn_system.c,v 1.7 2025/04/13 04:22:43 snw Exp $ + * ^$SYSTEM ssvn * * * Author: Serena Willis * 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. @@ -35,6 +23,22 @@ * You should have received a copy of the GNU Affero Public License * along with FreeM. If not, see . * + * $Log: ssvn_system.c,v $ + * 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 @@ -56,7 +60,7 @@ void ssvn_system_set(char *sub) d_buf[0] = '\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); @@ -109,7 +113,7 @@ void ssvn_system_update(void) strcpy (line_ns, line + 1); 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"); } @@ -117,16 +121,16 @@ void ssvn_system_update(void) fclose (fp); - snprintf (k_buf, 254, "^$SYSTEM\202CHANNELS\202TERMINAL\201"); - snprintf (d_buf, 254, "0,0\201"); + snprintf (k_buf, sizeof (k_buf) - 1, "^$SYSTEM\202CHANNELS\202TERMINAL\201"); + snprintf (d_buf, sizeof (d_buf) - 1, "0,0\201"); symtab_shm (set_sym, k_buf, d_buf); - snprintf (k_buf, 254, "^$SYSTEM\202CHANNELS\202FILE\201"); - snprintf (d_buf, 254, "1,%d\201", FIRSTSCK - 1); + snprintf (k_buf, sizeof (k_buf) - 1, "^$SYSTEM\202CHANNELS\202FILE\201"); + snprintf (d_buf, sizeof (d_buf) - 1, "1,%d\201", FIRSTSCK - 1); symtab_shm (set_sym, k_buf, d_buf); - snprintf (k_buf, 254, "^$SYSTEM\202CHANNELS\202SOCKET\201"); - snprintf (d_buf, 254, "%d,%d\201", FIRSTSCK, MAXDEV - 1); + snprintf (k_buf, sizeof (k_buf) - 1, "^$SYSTEM\202CHANNELS\202SOCKET\201"); + snprintf (d_buf, sizeof (d_buf) - 1, "%d,%d\201", FIRSTSCK, MAXDEV - 1); symtab_shm (set_sym, k_buf, d_buf); ssvn_job_update (); @@ -376,8 +380,7 @@ void ssvn_system(short action, char *key } else if (strcmp (r->subscripts[0], "ZDATE_FORMAT") == 0) { get_conf ("SYSTEM", "zdate_format", data); - stcnv_c2m (data); - + stcnv_c2m (data); break; } @@ -437,7 +440,7 @@ void ssvn_system(short action, char *key merr_clear (); goto done; - case dat: + case fra_dat: symtab_shm (action, key, data); merr_clear (); goto done;