Diff for /freem/src/tp_check.c between versions 1.4 and 1.7

version 1.4, 2025/03/22 18:43:54 version 1.7, 2025/04/13 15:12:21
Line 24 Line 24
  *   along with FreeM.  If not, see <https://www.gnu.org/licenses/>.   *   along with FreeM.  If not, see <https://www.gnu.org/licenses/>.
  *   *
  *   $Log$   *   $Log$
    *   Revision 1.7  2025/04/13 15:12:21  snw
    *   Fix transaction checkpoints on OS/2 [CLOSES #34]
    *
    *   Revision 1.6  2025/04/13 04:22:43  snw
    *   Fix snprintf calls
    *
    *   Revision 1.5  2025/04/09 19:52:02  snw
    *   Eliminate as many warnings as possible while building with -Wall
    *
  *   Revision 1.4  2025/03/22 18:43:54  snw   *   Revision 1.4  2025/03/22 18:43:54  snw
  *   Make STRLEN 255 chars and add BIGSTR macro for larger buffers   *   Make STRLEN 255 chars and add BIGSTR macro for larger buffers
  *   *
Line 44 Line 53
 #include "journal.h"  #include "journal.h"
 #include "fs.h"  #include "fs.h"
   
   #if defined(__OS2__)
   # include <os2.h>
   #endif
   
 short frm_global_exists(char *, char *, char *);  short frm_global_exists(char *, char *, char *);
   
 cptab *cptab_head[TP_MAX_NEST];  cptab *cptab_head[TP_MAX_NEST];
Line 51  cptab *cptab_head[TP_MAX_NEST]; Line 64  cptab *cptab_head[TP_MAX_NEST];
 cptab *cptab_insert(int tlevel, char *global)  cptab *cptab_insert(int tlevel, char *global)
 {  {
     cptab *t;      cptab *t;
     char mode;  
   
     short g_exists;      short g_exists;
       
     char *gc_ns;      char *gc_ns;
     char *gc_pth;      char *gc_pth;
           
Line 93  cptab *cptab_insert(int tlevel, char *gl Line 103  cptab *cptab_insert(int tlevel, char *gl
     strcpy (t->file, gc_pth);      strcpy (t->file, gc_pth);
     stcnv_m2c (t->file);      stcnv_m2c (t->file);
           
     snprintf (t->cp_file, PATHLEN, "%s.%d.%d.chk", t->file, pid, tp_level);      snprintf (t->cp_file, PATHLEN - 1, "%s.%d.%d.chk", t->file, pid, tp_level);
   
     free (gc_ns);      free (gc_ns);
     free (gc_pth);      free (gc_pth);
Line 173  void cptab_postcommit(int tlevel) Line 183  void cptab_postcommit(int tlevel)
 {  {
     cptab *t;      cptab *t;
     /*char *cmd;*/      /*char *cmd;*/
     int rc;  
   
     /*      /*
     cmd = (char *) malloc (STRLEN * sizeof (char));      cmd = (char *) malloc (STRLEN * sizeof (char));
Line 198  void cptab_postcommit(int tlevel) Line 207  void cptab_postcommit(int tlevel)
 short cptab_rollback(int tlevel)  short cptab_rollback(int tlevel)
 {  {
     cptab *t;      cptab *t;
     /*char *cmd;*/  
     int rc;      int rc;
   
     /*  
     cmd = (char *) malloc (STRLEN * sizeof (char));  
     NULLPTRCHK(cmd,"cptab_rollback");  
     */  
       
     for (t = cptab_head[tlevel]; t != NULL; t = t->next) {      for (t = cptab_head[tlevel]; t != NULL; t = t->next) {
                   
         switch (t->mode) {          switch (t->mode) {
   
             case CP_REMOVE:              case CP_REMOVE:
                 unlink (t->file);                  unlink (t->file);
                 /*  
                 snprintf (cmd, STRLEN - 1, "/bin/rm -f '%s'", t->file);  
                 rc = system (cmd);  
                 */  
                 break;                  break;
   
             case CP_RESTORE:              case CP_RESTORE:
                 /*  #if !defined(__OS2__)                
                 snprintf (cmd, STRLEN - 1, "/bin/cp '%s' '%s'", t->cp_file, t->file);  
                 rc = system (cmd);  
                 */  
                 rc = cp (t->file, t->cp_file);                  rc = cp (t->file, t->cp_file);
                   #else
                   rc = DosCopy (t->cp_file, t->file, 1);
   #endif                
                 if (rc != 0) {                  if (rc != 0) {
                     cptab_head[tlevel] = NULL;                      cptab_head[tlevel] = NULL;
                     /*free (cmd);*/                      /*free (cmd);*/
                     return FALSE;                      return FALSE;
                 }                  }
   
                 /*  
                 snprintf (cmd, STRLEN - 1, "/bin/rm -f %s", t->cp_file);  
                 rc = system (cmd);  
                 */  
   
                 unlink (t->cp_file);                  unlink (t->cp_file);
                 if (rc != 0) {                  if (rc != 0) {
                     cptab_head[tlevel] = NULL;                      cptab_head[tlevel] = NULL;

Removed from v.1.4  
changed lines
  Added in v.1.7


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>