--- freem/src/fma_journals.c 2025/01/19 02:04:04 1.1 +++ freem/src/fma_journals.c 2025/04/17 14:34:27 1.6 @@ -1,23 +1,11 @@ /* - * * - * * * - * * * - * *************** - * * * * * - * * MUMPS * - * * * * * - * *************** - * * * - * * * - * * - * - * fma_journals.c + * $Id: fma_journals.c,v 1.6 2025/04/17 14:34:27 snw Exp $ * Journal utilities for fmadm * * - * 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,22 @@ * You should have received a copy of the GNU Affero Public License * along with FreeM. If not, see . * + * $Log: fma_journals.c,v $ + * Revision 1.6 2025/04/17 14:34:27 snw + * Further logging improvements + * + * Revision 1.5 2025/04/13 04:22:43 snw + * Fix snprintf calls + * + * Revision 1.4 2025/04/09 19:52:02 snw + * Eliminate as many warnings as possible while building with -Wall + * + * Revision 1.3 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 @@ -51,6 +55,7 @@ #include "fmadm.h" #include "jnldefs.h" +#include "log.h" void cvt_key (char *buf, char *key); extern short ierr; @@ -73,15 +78,11 @@ int fma_journals_examine (int optc, char jnl_ent_t ent; if ((fd = open (fma_journal_path, O_RDONLY)) == -1) { - fprintf (stderr, "fmadm: error %d opening journal file %s (%s)\n", errno, fma_journal_path, strerror (errno)); - - exit (2); + logprintf (FM_LOG_FATAL, "fmadm: error opening journal file %s (error code %ld [%s])",fma_journal_path, errno, strerror (errno)); } if (read (fd, &hdr, sizeof (jnl_hdr_t)) == -1) { - fprintf (stderr, "fmadm: error %d reading header from journal file %s (%s)\n", errno, fma_journal_path, strerror (errno)); - - exit (3); + logprintf (FM_LOG_FATAL, "fmadm: error reading header from journal file %s (error code %ld [%s])", errno, fma_journal_path, strerror (errno)); } printf ("\nFreeM Journal Dump\n"); @@ -140,7 +141,7 @@ int fma_journals_examine (int optc, char if (ent.action == JNLA_SET) { - snprintf (dbuf, 2049, "%s=%s", kbuf, ent.data); + snprintf (dbuf, sizeof (dbuf) - 1, "%s=%s", kbuf, ent.data); for (k = 0; k < strlen (dbuf); k++) { if (dbuf[k] == '\201') dbuf[k] = '\0'; @@ -163,29 +164,19 @@ int fma_journals_restore (int optc, char { register int i; - register int k; int fd; unsigned long siz; unsigned long ct; - - char kbuf[1024]; - char *tbuf; - - char dbuf[2049]; - + jnl_hdr_t hdr; jnl_ent_t ent; - + if ((fd = open (fma_journal_path, O_RDONLY)) == -1) { - fprintf (stderr, "error: error %d opening journal file %s\n", errno, fma_journal_path); - - exit (2); + logprintf (FM_LOG_FATAL, "fmadm: error opening journal file %s (error code %ld [%s])",fma_journal_path, errno, strerror (errno)); } if (read (fd, &hdr, sizeof (jnl_hdr_t)) == -1) { - fprintf (stderr, "error: error %d reading header from journal file %s\n", errno, fma_journal_path); - - exit (3); + logprintf (FM_LOG_FATAL, "fmadm: error reading header from journal file %s (error code %ld [%s])", errno, fma_journal_path, strerror (errno)); } printf ("\nFreeM Journal Playback\n");