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

Diff for /src/usr.bin/cvs/rcs.c between version 1.272 and 1.273

version 1.272, 2008/06/14 00:47:49 version 1.273, 2008/06/14 03:19:15
Line 2992 
Line 2992 
   
         expand = 0;          expand = 0;
         lines = rcs_rev_getlines(rfp, rev, NULL);          lines = rcs_rev_getlines(rfp, rev, NULL);
         bp = cvs_buf_alloc(1024 * 1024);          bp = cvs_buf_alloc(1024 * 16);
   
         if (!(mode & RCS_KWEXP_NONE)) {          if (!(mode & RCS_KWEXP_NONE)) {
                 if (rfp->rf_expand != NULL)                  if (rfp->rf_expand != NULL)
Line 3035 
Line 3035 
  * file descriptor <fd>.   * file descriptor <fd>.
  */   */
 void  void
 rcs_rev_write_fd(RCSFILE *rfp, RCSNUM *rev, int fd, int mode)  rcs_rev_write_fd(RCSFILE *rfp, RCSNUM *rev, int _fd, int mode)
 {  {
           int fd;
           FILE *fp;
           size_t ret;
         int expmode, expand;          int expmode, expand;
         struct rcs_delta *rdp;          struct rcs_delta *rdp;
         struct cvs_lines *lines;          struct cvs_lines *lines;
Line 3059 
Line 3062 
                 }                  }
         }          }
   
           fd = dup(_fd);
           if (fd == -1)
                   fatal("rcs_rev_write_fd: dup: %s", strerror(errno));
   
           if ((fp = fdopen(fd, "w")) == NULL)
                   fatal("rcs_rev_write_fd: fdopen: %s", strerror(errno));
   
         for (lp = TAILQ_FIRST(&lines->l_lines); lp != NULL;) {          for (lp = TAILQ_FIRST(&lines->l_lines); lp != NULL;) {
                 nlp = TAILQ_NEXT(lp, l_list);                  nlp = TAILQ_NEXT(lp, l_list);
   
Line 3077 
Line 3087 
                         if (cvs_server_active == 1 &&                          if (cvs_server_active == 1 &&
                             (cvs_cmdop == CVS_OP_CHECKOUT ||                              (cvs_cmdop == CVS_OP_CHECKOUT ||
                             cvs_cmdop == CVS_OP_UPDATE) && print_stdout == 1) {                              cvs_cmdop == CVS_OP_UPDATE) && print_stdout == 1) {
                                 if (atomicio(vwrite, fd, "M ", 2) != 2)                                  ret = fwrite("M ", 1, 2, fp);
                                   if (ret != 2)
                                         fatal("rcs_rev_write_fd: %s",                                          fatal("rcs_rev_write_fd: %s",
                                             strerror(errno));                                              strerror(errno));
                         }                          }
   
                         if (atomicio(vwrite, fd, lp->l_line, lp->l_len) !=                          ret = fwrite(lp->l_line, 1, lp->l_len, fp);
                             lp->l_len)                          if (ret != lp->l_len)
                                 fatal("rcs_rev_write_fd: %s", strerror(errno));                                  fatal("rcs_rev_write_fd: %s", strerror(errno));
                 } while ((lp = TAILQ_NEXT(lp, l_list)) != nlp);                  } while ((lp = TAILQ_NEXT(lp, l_list)) != nlp);
         }          }
   
         cvs_freelines(lines);          cvs_freelines(lines);
           (void)fclose(fp);
 }  }
   
 /*  /*
Line 3605 
Line 3616 
   
         return (NULL);          return (NULL);
 }  }
   

Legend:
Removed from v.1.272  
changed lines
  Added in v.1.273