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

Diff for /src/usr.bin/cvs/file.c between version 1.27 and 1.28

version 1.27, 2004/08/12 21:05:32 version 1.28, 2004/08/13 12:44:25
Line 245 
Line 245 
         cfp->cf_type = type;          cfp->cf_type = type;
         cfp->cf_mode = mode;          cfp->cf_mode = mode;
         cfp->cf_ddat->cd_root = cvsroot_get(path);          cfp->cf_ddat->cd_root = cvsroot_get(path);
           cfp->cf_ddat->cd_repo = strdup(cfp->cf_path);
   
         if (type == DT_DIR) {          if (type == DT_DIR) {
                 if ((mkdir(path, mode) == -1) || (cvs_mkadmin(cfp, mode) < 0)) {                  if ((mkdir(path, mode) == -1) || (cvs_mkadmin(cfp, mode) < 0)) {
Line 466 
Line 467 
                             sizeof(pbuf)) == 0) {                              sizeof(pbuf)) == 0) {
                                 cdp->cd_repo = strdup(pbuf);                                  cdp->cd_repo = strdup(pbuf);
                                 if (cdp->cd_repo == NULL) {                                  if (cdp->cd_repo == NULL) {
                                           cvs_log(LP_ERRNO,
                                               "failed to dup repository string");
                                         free(cdp);                                          free(cdp);
                                         return (-1);                                          return (-1);
                                 }                                  }
Line 473 
Line 476 
   
                         cdp->cd_ent = cvs_ent_open(cf->cf_path, O_RDWR);                          cdp->cd_ent = cvs_ent_open(cf->cf_path, O_RDWR);
                 }                  }
   
         }          }
   
         if (!(flags & CF_RECURSE) || (cf->cf_cvstat == CVS_FST_UNKNOWN))          if (!(flags & CF_RECURSE) || (cf->cf_cvstat == CVS_FST_UNKNOWN))
Line 786 
Line 788 
                         cfp->cf_cvstat = CVS_FST_ADDED;                          cfp->cf_cvstat = CVS_FST_ADDED;
                 else {                  else {
                         /* check last modified time */                          /* check last modified time */
                         if ((gmtime_r((time_t *)&(st.st_mtime),                          if (ent->ce_mtime == st.st_mtime)
                             &lmtm) == NULL) ||  
                             (asctime_r(&lmtm, buf) == NULL)) {  
                                 cvs_log(LP_ERR,  
                                     "failed to generate file timestamp");  
                                 /* fake an up to date file */  
                                 strlcpy(buf, ent->ce_timestamp, sizeof(buf));  
                         }  
                         len = strlen(buf);  
                         if ((len > 0) && (buf[len - 1] == '\n'))  
                                 buf[--len] = '\0';  
   
                         if (strcmp(buf, ent->ce_timestamp) == 0)  
                                 cfp->cf_cvstat = CVS_FST_UPTODATE;                                  cfp->cf_cvstat = CVS_FST_UPTODATE;
                         else                          else
                                 cfp->cf_cvstat = CVS_FST_MODIFIED;                                  cfp->cf_cvstat = CVS_FST_MODIFIED;

Legend:
Removed from v.1.27  
changed lines
  Added in v.1.28