[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.80 and 1.81

version 1.80, 2005/10/07 21:47:32 version 1.81, 2005/10/07 23:59:56
Line 38 
Line 38 
 #include <string.h>  #include <string.h>
 #include <unistd.h>  #include <unistd.h>
   
 #include "diff.h"  
 #include "log.h"  #include "log.h"
 #include "rcs.h"  #include "rcs.h"
   #include "diff.h"
 #include "strtab.h"  #include "strtab.h"
   
 #define RCS_BUFSIZE     16384  #define RCS_BUFSIZE     16384
Line 1452 
Line 1452 
         time_t now;          time_t now;
         struct passwd *pw;          struct passwd *pw;
         struct rcs_delta *rdp;          struct rcs_delta *rdp;
         RCSNUM *tmprev = NULL;  
   
         if (rev == RCS_HEAD_REV) {          if (rev == RCS_HEAD_REV) {
                 const RCSNUM *head_rev;                  rev = rcsnum_inc(rf->rf_head);
                 char version_str[10];  
   
                 head_rev = rcs_head_get(rf);  
                 if ((tmprev = rcsnum_alloc()) == NULL) {  
                         cvs_log(LP_ERR, "could not allocate rcsnum");  
                         return (-1);  
                 }  
                 if (rcsnum_cpy(head_rev, tmprev, sizeof(version_str)) != 0) {  
                         cvs_log(LP_ERR, "could not perform rcsnum_cpy");  
                         rcsnum_free(tmprev);  
                         return (-1);  
                 }  
                 rev = rcsnum_inc(tmprev);  
         } else if ((rdp = rcs_findrev(rf, rev)) != NULL) {          } else if ((rdp = rcs_findrev(rf, rev)) != NULL) {
                 rcs_errno = RCS_ERR_DUPENT;                  rcs_errno = RCS_ERR_DUPENT;
                 return (-1);                  return (-1);
Line 1493 
Line 1479 
                 return (-1);                  return (-1);
         }          }
         rcsnum_cpy(rev, rdp->rd_num, 0);          rcsnum_cpy(rev, rdp->rd_num, 0);
         if (tmprev != NULL)  
                 rcsnum_free(tmprev);  
   
         if ((rdp->rd_author = cvs_strdup(pw->pw_name)) == NULL) {          if ((rdp->rd_author = cvs_strdup(pw->pw_name)) == NULL) {
                 rcs_freedelta(rdp);                  rcs_freedelta(rdp);
Line 1520 
Line 1504 
   
         TAILQ_INSERT_HEAD(&(rf->rf_delta), rdp, rd_list);          TAILQ_INSERT_HEAD(&(rf->rf_delta), rdp, rd_list);
         rf->rf_ndelta++;          rf->rf_ndelta++;
   
         /* not synced anymore */          /* not synced anymore */
         rf->rf_flags &= ~RCS_SYNCED;          rf->rf_flags &= ~RCS_SYNCED;
   
Line 2969 
Line 2954 
                         i += strlen(expbuf);                          i += strlen(expbuf);
                 }                  }
         }          }
   
           return (0);
   }
   
   /*
    * rcs_deltatext_set()
    *
    * Set deltatext for <rev> in RCS file <rfp> to <dtext>
    * Returns -1 on error, 0 on success.
    */
   int
   rcs_deltatext_set(RCSFILE *rfp, RCSNUM *rev, const char *dtext)
   {
           size_t len;
           struct rcs_delta *rdp;
   
           if ((rdp = rcs_findrev(rfp, rev)) == NULL)
                   return (-1);
   
           if (rdp->rd_text != NULL)
                   free(rdp->rd_text);
   
           len = strlen(dtext);
           if ((rdp->rd_text = (u_char *)malloc(len)) == NULL)
                   return (-1);
   
           rdp->rd_tlen = len - 1;
           strlcpy(rdp->rd_text, dtext, len);
   
         return (0);          return (0);
 }  }

Legend:
Removed from v.1.80  
changed lines
  Added in v.1.81