|
|
| version 1.1.1.1, 2025/01/19 02:04:04 | version 1.4, 2025/03/22 18:43:54 |
|---|---|
| Line 1 | Line 1 |
| /* | /* |
| * * | * $Id$ |
| * * * | * TP global checkpointing code |
| * * * | |
| * *************** | |
| * * * * * | |
| * * MUMPS * | |
| * * * * * | |
| * *************** | |
| * * * | |
| * * * | |
| * * | |
| * | |
| * tp_check.c | |
| * TP database checkpointing code | |
| * | * |
| * | * |
| * 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) 2022 Coherent Logic Development LLC | * Copyright (C) 2022, 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.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 <stdlib.h> | #include <stdlib.h> |
| Line 63 cptab *cptab_insert(int tlevel, char *gl | Line 61 cptab *cptab_insert(int tlevel, char *gl |
| gc_ns = (char *) malloc (STRLEN * sizeof (char)); | gc_ns = (char *) malloc (STRLEN * sizeof (char)); |
| NULLPTRCHK(gc_ns,"cptab_insert"); | NULLPTRCHK(gc_ns,"cptab_insert"); |
| gc_pth = (char *) malloc (STRLEN * sizeof (char)); | gc_pth = (char *) malloc (PATHLEN * sizeof (char)); |
| NULLPTRCHK(gc_pth,"cptab_insert"); | NULLPTRCHK(gc_pth,"cptab_insert"); |
| for (t = cptab_head[tlevel]; t != NULL; t = t->next) { | for (t = cptab_head[tlevel]; t != NULL; t = t->next) { |
| Line 89 cptab *cptab_insert(int tlevel, char *gl | Line 87 cptab *cptab_insert(int tlevel, char *gl |
| t->file = (char *) malloc (sizeof (char) * (strlen (gc_pth))); | t->file = (char *) malloc (sizeof (char) * (strlen (gc_pth))); |
| NULLPTRCHK(t->file,"cptab_insert"); | NULLPTRCHK(t->file,"cptab_insert"); |
| t->cp_file = (char *) malloc (sizeof (char) * STRLEN); | t->cp_file = (char *) malloc (sizeof (char) * PATHLEN); |
| NULLPTRCHK(t->cp_file,"cptab_insert"); | NULLPTRCHK(t->cp_file,"cptab_insert"); |
| strcpy (t->file, gc_pth); | strcpy (t->file, gc_pth); |
| stcnv_m2c (t->file); | stcnv_m2c (t->file); |
| snprintf (t->cp_file, STRLEN - 1, "%s.%d.%d.chk", t->file, pid, tp_level); | snprintf (t->cp_file, PATHLEN, "%s.%d.%d.chk", t->file, pid, tp_level); |
| free (gc_ns); | free (gc_ns); |
| free (gc_pth); | free (gc_pth); |