[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.142 and 1.143

version 1.142, 2006/03/11 18:40:14 version 1.143, 2006/03/11 22:44:11
Line 1264 
Line 1264 
         time_t now;          time_t now;
         struct passwd *pw;          struct passwd *pw;
         struct rcs_delta *ordp, *rdp;          struct rcs_delta *ordp, *rdp;
         RCSNUM *old;  
   
         old = rcsnum_alloc();  
         if (rev == RCS_HEAD_REV) {          if (rev == RCS_HEAD_REV) {
                 if (rf->rf_flags & RCS_CREATE) {                  if (rf->rf_flags & RCS_CREATE) {
                         if ((rev = rcsnum_parse(RCS_HEAD_INIT)) == NULL)                          if ((rev = rcsnum_parse(RCS_HEAD_INIT)) == NULL)
Line 1274 
Line 1272 
                         rf->rf_head = rcsnum_alloc();                          rf->rf_head = rcsnum_alloc();
                         rcsnum_cpy(rev, rf->rf_head, 0);                          rcsnum_cpy(rev, rf->rf_head, 0);
                 } else {                  } else {
                         rcsnum_cpy(rf->rf_head, old, 0);  
                         rev = rcsnum_inc(rf->rf_head);                          rev = rcsnum_inc(rf->rf_head);
                 }                  }
         } else {          } else {
                 if ((rdp = rcs_findrev(rf, rev)) != NULL) {                  if ((rdp = rcs_findrev(rf, rev)) != NULL) {
                         rcs_errno = RCS_ERR_DUPENT;                          rcs_errno = RCS_ERR_DUPENT;
                         rcsnum_free(old);  
                         return (-1);                          return (-1);
                 }                  }
   
                 if (!(rf->rf_flags & RCS_CREATE)) {  
                         ordp = NULL;  
                         rcsnum_cpy(rev, old, 0);  
                         while (ordp == NULL) {  
                                 old = rcsnum_dec(old);  
                                 ordp = rcs_findrev(rf, old);  
                         }  
                 }  
         }          }
   
         if ((pw = getpwuid(getuid())) == NULL)          if ((pw = getpwuid(getuid())) == NULL)
Line 1308 
Line 1295 
   
         rdp->rd_next = rcsnum_alloc();          rdp->rd_next = rcsnum_alloc();
   
         if (!(rf->rf_flags & RCS_CREATE))          if (!(rf->rf_flags & RCS_CREATE)) {
                 rcsnum_cpy(old, rdp->rd_next, 0);                  /* next should point to the previous HEAD */
                   ordp = TAILQ_FIRST(&(rf->rf_delta));
                   rcsnum_cpy(ordp->rd_num, rdp->rd_next, 0);
           }
   
         rcsnum_free(old);  
   
         if (username == NULL)          if (username == NULL)
                 username = pw->pw_name;                  username = pw->pw_name;
Line 2970 
Line 2959 
                 oldrev = rcsnum_alloc();                  oldrev = rcsnum_alloc();
                 rcsnum_cpy(rev, oldrev, 0);                  rcsnum_cpy(rev, oldrev, 0);
   
                 if (rcsnum_dec(oldrev) == NULL)                  if (oldrev->rn_id[oldrev->rn_len - 1] <= 0)
                         goto out;                          goto out;
                   oldrev = rcsnum_dec(oldrev);
   
                 l = snprintf(copyfile, sizeof(copyfile), ".#%s.%s",                  l = snprintf(copyfile, sizeof(copyfile), ".#%s.%s",
                     cf->cf_name, rcsnum_tostr(oldrev, buf, sizeof(buf)));                      cf->cf_name, rcsnum_tostr(oldrev, buf, sizeof(buf)));

Legend:
Removed from v.1.142  
changed lines
  Added in v.1.143