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

Diff for /src/usr.bin/rcs/ci.c between version 1.111 and 1.112

version 1.111, 2006/03/07 01:47:42 version 1.112, 2006/03/08 20:19:39
Line 292 
Line 292 
         BUF *b1, *b2, *b3;          BUF *b1, *b2, *b3;
         char rbuf[64], *deltatext;          char rbuf[64], *deltatext;
   
           b1 = b2 = b3 = NULL;
           deltatext = NULL;
         rcsnum_tostr(pb->frev, rbuf, sizeof(rbuf));          rcsnum_tostr(pb->frev, rbuf, sizeof(rbuf));
   
         if ((b1 = cvs_buf_load(pb->filename, BUF_AUTOEXT)) == NULL) {          if ((b1 = cvs_buf_load(pb->filename, BUF_AUTOEXT)) == NULL) {
                 cvs_log(LP_ERR, "failed to load file: '%s'", pb->filename);                  cvs_log(LP_ERR, "failed to load file: '%s'", pb->filename);
                 return (NULL);                  goto out;
         }          }
   
         if ((b2 = rcs_getrev(pb->file, pb->frev)) == NULL) {          if ((b2 = rcs_getrev(pb->file, pb->frev)) == NULL) {
                 cvs_log(LP_ERR, "failed to load revision");                  cvs_log(LP_ERR, "failed to load revision");
                 cvs_buf_free(b1);                  goto out;
                 return (NULL);  
         }          }
   
         if ((b3 = cvs_buf_alloc((size_t)128, BUF_AUTOEXT)) == NULL) {          if ((b3 = cvs_buf_alloc((size_t)128, BUF_AUTOEXT)) == NULL) {
                 cvs_log(LP_ERR, "failed to allocated buffer for diff");                  cvs_log(LP_ERR, "failed to allocated buffer for diff");
                 cvs_buf_free(b1);                  goto out;
                 cvs_buf_free(b2);  
                 return (NULL);  
         }          }
   
         strlcpy(path1, rcs_tmpdir, sizeof(path1));          strlcpy(path1, rcs_tmpdir, sizeof(path1));
         strlcat(path1, "/diff1.XXXXXXXXXX", sizeof(path1));          strlcat(path1, "/diff1.XXXXXXXXXX", sizeof(path1));
         if (cvs_buf_write_stmp(b1, path1, 0600) == -1) {          if (cvs_buf_write_stmp(b1, path1, 0600) == -1)
                 cvs_log(LP_ERRNO, "could not write temporary file");                  goto out;
                 cvs_buf_free(b1);  
                 cvs_buf_free(b2);          cvs_worklist_add(path1, &rcs_temp_files);
                 return (NULL);  
         }  
         cvs_buf_free(b1);          cvs_buf_free(b1);
           b1 = NULL;
   
         strlcpy(path2, rcs_tmpdir, sizeof(path2));          strlcpy(path2, rcs_tmpdir, sizeof(path2));
         strlcat(path2, "/diff2.XXXXXXXXXX", sizeof(path2));          strlcat(path2, "/diff2.XXXXXXXXXX", sizeof(path2));
         if (cvs_buf_write_stmp(b2, path2, 0600) == -1) {          if (cvs_buf_write_stmp(b2, path2, 0600) == -1)
                 cvs_buf_free(b2);                  goto out;
                 (void)unlink(path1);  
                 return (NULL);          cvs_worklist_add(path2, &rcs_temp_files);
         }  
         cvs_buf_free(b2);          cvs_buf_free(b2);
           b2 = NULL;
   
         diff_format = D_RCSDIFF;          diff_format = D_RCSDIFF;
         cvs_diffreg(path1, path2, b3);          cvs_diffreg(path1, path2, b3);
         (void)unlink(path1);  
         (void)unlink(path2);  
   
         cvs_buf_putc(b3, '\0');          cvs_buf_putc(b3, '\0');
         deltatext = (char *)cvs_buf_release(b3);          deltatext = (char *)cvs_buf_release(b3);
           b3 = NULL;
   
   out:
           cvs_worklist_run(&rcs_temp_files, cvs_worklist_unlink);
   
           if (b1 != NULL)
                   cvs_buf_free(b1);
           if (b2 != NULL)
                   cvs_buf_free(b2);
           if (b3 != NULL)
                   cvs_buf_free(b3);
   
         return (deltatext);          return (deltatext);
 }  }

Legend:
Removed from v.1.111  
changed lines
  Added in v.1.112