|
|
| version 1.2, 2025/02/28 22:31:53 | version 1.5, 2025/03/22 18:43:54 |
|---|---|
| Line 1 | Line 1 |
| /* | /* |
| * * | * $Id$ |
| * * * | |
| * * * | |
| * *************** | |
| * * * * * | |
| * * MUMPS * | |
| * * * * * | |
| * *************** | |
| * * * | |
| * * * | |
| * * | |
| * | |
| * fma_globals.c | |
| * fmadm - globals | * fmadm - globals |
| * | * |
| * | * |
| * 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.5 2025/03/22 18:43:54 snw | |
| * Make STRLEN 255 chars and add BIGSTR macro for larger buffers | |
| * | |
| * 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 80 int fma_globals_list (int optc, char **o | Line 78 int fma_globals_list (int optc, char **o |
| DIR *dir; | DIR *dir; |
| struct dirent *ent; | struct dirent *ent; |
| char filename[STRLEN]; | char filename[PATHLEN]; |
| int ct = 0; | int ct = 0; |
| Line 97 int fma_globals_list (int optc, char **o | Line 95 int fma_globals_list (int optc, char **o |
| while ((ent = readdir (dir)) != NULL) { | while ((ent = readdir (dir)) != NULL) { |
| strncpy (filename, ent->d_name, STRLEN - 1); | strncpy (filename, ent->d_name, PATHLEN - 1); |
| if (filename[0] == '^' && filename[1] != '$') { | if (filename[0] == '^' && filename[1] != '$') { |
| printf (" %s\n", filename); | printf (" %s\n", filename); |
| Line 118 int fma_globals_examine (int optc, char | Line 116 int fma_globals_examine (int optc, char |
| DIR *dir; | DIR *dir; |
| struct dirent *ent; | struct dirent *ent; |
| char gpath[STRLEN]; | char gpath[PATHLEN]; |
| int i; | int i; |
| int ct = 0; | int ct = 0; |
| Line 153 int fma_globals_examine (int optc, char | Line 151 int fma_globals_examine (int optc, char |
| for (i = fma_base_opt; i < optc; i++) { | for (i = fma_base_opt; i < optc; i++) { |
| snprintf (gpath, STRLEN - 1, "%s/%s", fma_global_path, opts[i]); | snprintf (gpath, PATHLEN - 1, "%s/%s", fma_global_path, opts[i]); |
| gl (gpath, FALSE, FALSE, FALSE, strlen (fma_global_path)); | gl (gpath, FALSE, FALSE, FALSE, strlen (fma_global_path)); |
| ct++; | ct++; |
| Line 165 int fma_globals_examine (int optc, char | Line 163 int fma_globals_examine (int optc, char |
| while ((ent = readdir (dir)) != NULL) { | while ((ent = readdir (dir)) != NULL) { |
| strncpy (gpath, ent->d_name, STRLEN - 1); | strncpy (gpath, ent->d_name, PATHLEN - 1); |
| if (gpath[0] == '^' && gpath[1] != '$') { | if (gpath[0] == '^' && gpath[1] != '$') { |
| snprintf (gpath, STRLEN - 1, "%s/%s", fma_global_path, ent->d_name); | snprintf (gpath, PATHLEN - 1, "%s/%s", fma_global_path, ent->d_name); |
| gl (gpath, FALSE, FALSE, FALSE, strlen (fma_global_path)); | gl (gpath, FALSE, FALSE, FALSE, strlen (fma_global_path)); |
| Line 191 int fma_globals_examine (int optc, char | Line 189 int fma_globals_examine (int optc, char |
| int fma_globals_remove (int optc, char **opts) | int fma_globals_remove (int optc, char **opts) |
| { | { |
| char gpath[STRLEN]; | char gpath[PATHLEN]; |
| int i; | int i; |
| int ct = 0; | int ct = 0; |
| int er = 0; | int er = 0; |
| Line 206 int fma_globals_remove (int optc, char * | Line 204 int fma_globals_remove (int optc, char * |
| for (i = fma_base_opt; i < optc; i++) { | for (i = fma_base_opt; i < optc; i++) { |
| printf ("%-10s\t", opts[i]); | printf ("%-10s\t", opts[i]); |
| snprintf (gpath, STRLEN - 1, "%s/%s", fma_global_path, opts[i]); | snprintf (gpath, PATHLEN - 1, "%s/%s", fma_global_path, opts[i]); |
| if (unlink (gpath) == -1) { | if (unlink (gpath) == -1) { |
| printf ("[FAIL]\n"); | printf ("[FAIL]\n"); |
| Line 232 int fma_globals_verify (int optc, char * | Line 230 int fma_globals_verify (int optc, char * |
| DIR *dir; | DIR *dir; |
| struct dirent *ent; | struct dirent *ent; |
| char gpath[STRLEN]; | char gpath[PATHLEN]; |
| int i; | int i; |
| int ct = 0; | int ct = 0; |
| Line 266 int fma_globals_verify (int optc, char * | Line 264 int fma_globals_verify (int optc, char * |
| for (i = fma_base_opt; i < optc; i++) { | for (i = fma_base_opt; i < optc; i++) { |
| snprintf (gpath, STRLEN - 1, "%s/%s", fma_global_path, opts[i]); | snprintf (gpath, PATHLEN - 1, "%s/%s", fma_global_path, opts[i]); |
| exstat = 0; | exstat = 0; |
| gverify (gpath); | gverify (gpath); |
| Line 282 int fma_globals_verify (int optc, char * | Line 280 int fma_globals_verify (int optc, char * |
| while ((ent = readdir (dir)) != NULL) { | while ((ent = readdir (dir)) != NULL) { |
| strncpy (gpath, ent->d_name, STRLEN - 1); | strncpy (gpath, ent->d_name, PATHLEN - 1); |
| if (gpath[0] == '^') { | if (gpath[0] == '^') { |
| snprintf (gpath, STRLEN - 1, "%s/%s", fma_global_path, ent->d_name); | snprintf (gpath, PATHLEN - 1, "%s/%s", fma_global_path, ent->d_name); |
| exstat = 0; | exstat = 0; |
| gverify (gpath); | gverify (gpath); |