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

Diff for /src/usr.bin/rcs/rcsclean.c between version 1.30 and 1.31

version 1.30, 2006/04/12 08:23:30 version 1.31, 2006/04/13 00:58:25
Line 29 
Line 29 
 #include "rcsprog.h"  #include "rcsprog.h"
 #include "diff.h"  #include "diff.h"
   
 static void     rcsclean_file(char *, RCSNUM *);  static void     rcsclean_file(char *, const char *);
   
 static int nflag = 0;  static int nflag = 0;
 static int kflag = RCS_KWEXP_ERR;  static int kflag = RCS_KWEXP_ERR;
Line 107 
Line 107 
                 while ((dp = readdir(dirp)) != NULL) {                  while ((dp = readdir(dirp)) != NULL) {
                         if (dp->d_type == DT_DIR)                          if (dp->d_type == DT_DIR)
                                 continue;                                  continue;
                         rcs_set_rev(rev_str, &rev);                          rcsclean_file(dp->d_name, rev_str);
                         rcsclean_file(dp->d_name, rev);  
                         rcsnum_free(rev);  
                 }                  }
   
                 closedir(dirp);                  closedir(dirp);
         } else          } else
                 for (i = 0; i < argc; i++) {                  for (i = 0; i < argc; i++)
                         rcs_set_rev(rev_str, &rev);                          rcsclean_file(argv[i], rev_str);
                         rcsclean_file(argv[i], rev);  
                         rcsnum_free(rev);  
                 }  
   
         return (0);          return (0);
 }  }
Line 132 
Line 127 
 }  }
   
 static void  static void
 rcsclean_file(char *fname, RCSNUM *rev)  rcsclean_file(char *fname, const char *rev_str)
 {  {
         int match;          int match;
         RCSFILE *file;          RCSFILE *file;
         char fpath[MAXPATHLEN], numb[64];          char fpath[MAXPATHLEN], numb[64];
         RCSNUM *frev;          RCSNUM *rev;
         BUF *b1, *b2;          BUF *b1, *b2;
         char *s1, *s2, *c1, *c2;          char *c1, *c2;
         struct stat st;          struct stat st;
         time_t rcs_mtime = -1;          time_t rcs_mtime = -1;
   
Line 159 
Line 154 
   
         rcs_kwexp_set(file, kflag);          rcs_kwexp_set(file, kflag);
   
         if (rev == RCS_HEAD_REV)          if (rev_str == NULL)
                 frev = file->rf_head;                  rev = file->rf_head;
         else          else if ((rev = rcs_getrevnum(rev_str, file)) == NULL) {
                 frev = rev;                  cvs_log(LP_ERR, "%s: Symbolic name `%s' is undefined.",
                       fpath, rev_str);
                   rcs_close(file);
                   return;
           }
   
         if ((b1 = rcs_getrev(file, frev)) == NULL) {          if ((b1 = rcs_getrev(file, rev)) == NULL) {
                 cvs_log(LP_ERR, "failed to get needed revision");                  cvs_log(LP_ERR, "failed to get needed revision");
                 rcs_close(file);                  rcs_close(file);
                 return;                  return;
Line 182 
Line 181 
         c1 = cvs_buf_release(b1);          c1 = cvs_buf_release(b1);
         c2 = cvs_buf_release(b2);          c2 = cvs_buf_release(b2);
   
         for (s1 = c1, s2 = c2; *s1 && *s2; s1++, s2++) {          /* XXX - Compare using cvs_buf_len() first. */
                 if (*s1 != *s2) {          if (strcmp(c1, c2) != 0)
                         match = 0;                  match = 0;
                         break;  
                 }  
         }  
   
         xfree(c1);          xfree(c1);
         xfree(c2);          xfree(c2);
Line 196 
Line 192 
                 if ((uflag == 1) && (!TAILQ_EMPTY(&(file->rf_locks)))) {                  if ((uflag == 1) && (!TAILQ_EMPTY(&(file->rf_locks)))) {
                         if ((verbose == 1) && (nflag == 0)) {                          if ((verbose == 1) && (nflag == 0)) {
                                 printf("rcs -u%s %s\n",                                  printf("rcs -u%s %s\n",
                                     rcsnum_tostr(frev, numb, sizeof(numb)),                                      rcsnum_tostr(rev, numb, sizeof(numb)),
                                     fpath);                                      fpath);
                         }                          }
                         (void)rcs_lock_remove(file, locker, frev);                          (void)rcs_lock_remove(file, locker, rev);
                 }                  }
   
                 if (TAILQ_EMPTY(&(file->rf_locks))) {                  if (TAILQ_EMPTY(&(file->rf_locks))) {

Legend:
Removed from v.1.30  
changed lines
  Added in v.1.31