[BACK]Return to fileio.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / mg

Diff for /src/usr.bin/mg/fileio.c between version 1.4 and 1.5

version 1.4, 2000/02/26 23:22:44 version 1.5, 2000/02/27 05:49:14
Line 144 
Line 144 
                 return (ABORT);                  return (ABORT);
         }          }
         (void) strcpy(nname, fn);          (void) strcpy(nname, fn);
 /*          (void) strcat(nname, "~");
  * with BSD, just strcat the ~.  But SV has a max file name of 14, so          if (rename(fn, nname) < 0) {
  * we have to check.  
  */  
         lastpart = strrchr(nname, '/');  
         if (lastpart)  
                 lastpart++;  
         else  
                 lastpart = nname;  
         i = strlen(lastpart);  
         if (i > 13)  
                 if (lastpart[13] == '~') {   /* already a backup name */  
                         free(nname);  
                         return(FALSE);  
                 }  
                 else  
                         lastpart[13] = '~';  
         else {  
                 lastpart[i] = '~';  
                 lastpart[i+1] = 0;  
         }  
         (void) unlink(nname);                   /* Ignore errors.       */  
         if (link(fn, nname) != 0 || unlink(fn) != 0) {  
                 free(nname);                  free(nname);
                 return (FALSE);                  return (FALSE);
         }          }
Line 392 
Line 371 
         ewprintf("Bad directory name");          ewprintf("Bad directory name");
         return NULL;          return NULL;
     }      }
       if(dirname[strlen(dirname)-1] != '/') (VOID) strcat(dirname, "/");
     if((bp = findbuffer(dirname)) == NULL) {      if((bp = findbuffer(dirname)) == NULL) {
         ewprintf("Could not create buffer");          ewprintf("Could not create buffer");
         return NULL;          return NULL;

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5