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

Diff for /src/usr.bin/cvs/diff.c between version 1.130 and 1.131

version 1.130, 2008/02/27 20:04:59 version 1.131, 2008/02/27 22:34:04
Line 19 
Line 19 
 #include <sys/time.h>  #include <sys/time.h>
   
 #include <errno.h>  #include <errno.h>
   #include <fcntl.h>
 #include <stdlib.h>  #include <stdlib.h>
 #include <string.h>  #include <string.h>
 #include <unistd.h>  #include <unistd.h>
Line 220 
Line 221 
 {  {
         RCSNUM *r1;          RCSNUM *r1;
         BUF *b1;          BUF *b1;
           int fd1, fd2;
         struct stat st;          struct stat st;
         struct timeval tv[2], tv2[2];          struct timeval tv[2], tv2[2];
         char rbuf[CVS_REV_BUFSZ], *p1, *p2;          char rbuf[CVS_REV_BUFSZ], *p1, *p2;
Line 331 
Line 333 
   
                         if (cvs_cmdop == CVS_OP_DIFF)                          if (cvs_cmdop == CVS_OP_DIFF)
                                 cvs_printf("retrieving revision %s\n", rbuf);                                  cvs_printf("retrieving revision %s\n", rbuf);
                         rcs_rev_write_stmp(cf->file_rcs, r1, p1, 0);                          fd1 = rcs_rev_write_stmp(cf->file_rcs, r1, p1, 0);
                         if (utimes(p1, tv) == -1)                          if (futimes(fd1, tv) == -1)
                                 fatal("cvs_diff_local: utimes failed");                                  fatal("cvs_diff_local: utimes failed");
                 }                  }
         }          }
Line 347 
Line 349 
   
                 if (cvs_cmdop == CVS_OP_DIFF)                  if (cvs_cmdop == CVS_OP_DIFF)
                         cvs_printf("retrieving revision %s\n", rbuf);                          cvs_printf("retrieving revision %s\n", rbuf);
                 rcs_rev_write_stmp(cf->file_rcs, diff_rev2, p2, 0);                  fd2 = rcs_rev_write_stmp(cf->file_rcs, diff_rev2, p2, 0);
                 if (utimes(p2, tv2) == -1)                  if (futimes(fd2, tv2) == -1)
                         fatal("cvs_diff_local: utimes failed");                          fatal("cvs_diff_local: utimes failed");
         } else if (cf->file_status != FILE_REMOVED) {          } else if (cf->file_status != FILE_REMOVED) {
                 if (cvs_cmdop == CVS_OP_RDIFF || (cvs_server_active == 1 &&                  if (cvs_cmdop == CVS_OP_RDIFF || (cvs_server_active == 1 &&
Line 359 
Line 361 
                                 tv2[0].tv_usec = 0;                                  tv2[0].tv_usec = 0;
                                 tv2[1] = tv2[0];                                  tv2[1] = tv2[0];
   
                                 rcs_rev_write_stmp(cf->file_rcs,                                  fd2 = rcs_rev_write_stmp(cf->file_rcs,
                                     cf->file_rcsrev, p2, 0);                                      cf->file_rcsrev, p2, 0);
                                 if (utimes(p2, tv2) == -1)                                  if (futimes(fd2, tv2) == -1)
                                         fatal("cvs_diff_local: utimes failed");                                          fatal("cvs_diff_local: utimes failed");
                         }                          }
                 } else {                  } else {
Line 373 
Line 375 
                         tv2[0].tv_usec = 0;                          tv2[0].tv_usec = 0;
                         tv2[1] = tv2[0];                          tv2[1] = tv2[0];
   
                         cvs_buf_write_stmp(b1, p2, tv2);                          fd2 = cvs_buf_write_stmp(b1, p2, tv2);
                         cvs_buf_free(b1);                          cvs_buf_free(b1);
                 }                  }
         }          }
Line 429 
Line 431 
         if (cf->file_status == FILE_ADDED ||          if (cf->file_status == FILE_ADDED ||
             (cvs_cmdop == CVS_OP_RDIFF && diff_rev1 == NULL)) {              (cvs_cmdop == CVS_OP_RDIFF && diff_rev1 == NULL)) {
                 xfree(p1);                  xfree(p1);
                   close(fd1);
                 (void)xasprintf(&p1, "%s", CVS_PATH_DEVNULL);                  (void)xasprintf(&p1, "%s", CVS_PATH_DEVNULL);
                   if ((fd1 = open(p1, O_RDONLY)) == -1)
                           fatal("cvs_diff_local: cannot open %s",
                               CVS_PATH_DEVNULL);
         } else if (cf->file_status == FILE_REMOVED ||          } else if (cf->file_status == FILE_REMOVED ||
             (cvs_cmdop == CVS_OP_RDIFF && diff_rev2 == NULL)) {              (cvs_cmdop == CVS_OP_RDIFF && diff_rev2 == NULL)) {
                 xfree(p2);                  xfree(p2);
                   close(fd2);
                 (void)xasprintf(&p2, "%s", CVS_PATH_DEVNULL);                  (void)xasprintf(&p2, "%s", CVS_PATH_DEVNULL);
                   if ((fd1 = open(p2, O_RDONLY)) == -1)
                           fatal("cvs_diff_local: cannot open %s",
                               CVS_PATH_DEVNULL);
         }          }
   
         if (cvs_diffreg(p1, p2, NULL) == D_ERROR)          if (cvs_diffreg(p1, p2, fd1, fd2, NULL) == D_ERROR)
                 fatal("cvs_diff_local: failed to get RCS patch");                  fatal("cvs_diff_local: failed to get RCS patch");
   
           close(fd1);
           close(fd2);
   
         cvs_worklist_run(&temp_files, cvs_worklist_unlink);          cvs_worklist_run(&temp_files, cvs_worklist_unlink);
   

Legend:
Removed from v.1.130  
changed lines
  Added in v.1.131