--- freem/src/ssvn_routine.c 2025/01/19 02:04:04 1.1.1.1 +++ freem/src/ssvn_routine.c 2025/03/22 18:43:54 1.4 @@ -1,23 +1,11 @@ /* - * * - * * * - * * * - * *************** - * * * * * - * * MUMPS * - * * * * * - * *************** - * * * - * * * - * * - * - * ssvn_routine.c - * ^$ROUTINE ssv + * $Id: ssvn_routine.c,v 1.4 2025/03/22 18:43:54 snw Exp $ + * ^$ROUTINE ssvn * * - * Author: Serena Willis + * 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,16 @@ * You should have received a copy of the GNU Affero Public License * along with FreeM. If not, see . * + * $Log: ssvn_routine.c,v $ + * Revision 1.4 2025/03/22 18:43:54 snw + * Make STRLEN 255 chars and add BIGSTR macro for larger buffers + * + * Revision 1.3 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 @@ -58,18 +56,18 @@ void ssvn_routine_add_dir(char *rtndir) { DIR *dir; struct dirent *ent; - char filename[STRLEN]; - char rtnname[256]; + char filename[PATHLEN]; + char rtnname[PATHLEN]; char *rtnext; - char k_buf[512]; - char d_buf[512]; - char t_buf[512]; + char k_buf[STRLEN]; + char d_buf[STRLEN]; + char t_buf[STRLEN]; dir = opendir (rtndir); while ((ent = readdir (dir)) != NULL) { - strncpy (filename, ent->d_name, STRLEN - 1); + strncpy (filename, ent->d_name, PATHLEN); rtnext = ent->d_name + (strlen (ent->d_name) - 2); @@ -78,21 +76,21 @@ void ssvn_routine_add_dir(char *rtndir) strcpy (rtnname, ent->d_name); rtnname[strlen (ent->d_name) - 2] = '\0'; - snprintf (k_buf, 512 - 1, "^$ROUTINE\202%s\202CHARACTER\201", rtnname); - snprintf (d_buf, 512 - 1, "M\201"); + snprintf (k_buf, STRLEN, "^$ROUTINE\202%s\202CHARACTER\201", rtnname); + snprintf (d_buf, STRLEN, "M\201"); symtab_bltin (set_sym, k_buf, d_buf); - snprintf (k_buf, 512 - 1, "^$ROUTINE\202%s\202NAMESPACE\201", rtnname); + snprintf (k_buf, STRLEN, "^$ROUTINE\202%s\202NAMESPACE\201", rtnname); if (rtnname[0] == '%') { - snprintf (d_buf, 512 - 1, "SYSTEM\201"); + snprintf (d_buf, STRLEN, "SYSTEM\201"); } else { - snprintf (d_buf, 512 - 1, "%s\201", nsname); + snprintf (d_buf, STRLEN, "%s\201", nsname); } symtab_bltin (set_sym, k_buf, d_buf); - snprintf (k_buf, 512 - 1, "^$ROUTINE\202%s\202PATH\201", rtnname); + snprintf (k_buf, STRLEN, "^$ROUTINE\202%s\202PATH\201", rtnname); if (rtnname[0] == '%') { stcpy (t_buf, rou0plib); @@ -102,7 +100,7 @@ void ssvn_routine_add_dir(char *rtndir) } stcnv_m2c (t_buf); - snprintf (d_buf, 512 - 1, "%s/%s\201", t_buf, filename); + snprintf (d_buf, STRLEN, "%s/%s\201", t_buf, filename); symtab_bltin (set_sym, k_buf, d_buf);