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

Diff for /src/usr.bin/cvs/history.c between version 1.8 and 1.9

version 1.8, 2005/02/28 20:45:07 version 1.9, 2005/03/30 17:43:04
Line 55 
Line 55 
 #define CVS_HF_EXCL (CVS_HF_C|CVS_HF_E|CVS_HF_M|CVS_HF_O|CVS_HF_T|CVS_HF_X)  #define CVS_HF_EXCL (CVS_HF_C|CVS_HF_E|CVS_HF_M|CVS_HF_O|CVS_HF_T|CVS_HF_X)
   
 static void  cvs_history_print  (struct cvs_hent *);  static void  cvs_history_print  (struct cvs_hent *);
   int cvs_history_options(char *, int, char **, int *);
   int cvs_history_sendflags(struct cvsroot *);
   
   
 extern char *__progname;  extern char *__progname;
   
   struct cvs_cmd_info cvs_history = {
           cvs_history_options,
           cvs_history_sendflags,
           NULL,
           NULL,
           NULL,
           0,
           CVS_REQ_HISTORY,
           CVS_CMD_SENDDIR
   };
   
 /*  static int flags = 0;
  * cvs_history()  static char *user = NULL;
  *  static char *zone = "+0000";
  * Handle the `cvs history' command.  static char *tag = NULL;
  */  static u_int nbmod = 0;
   static u_int rep = 0;
   static char *modules[CVS_HISTORY_MAXMOD];
   
 int  int
 cvs_history(int argc, char **argv)  cvs_history_options(char *opt, int argc, char **argv, int *arg)
 {  {
         int ch, flags;          int ch;
         u_int nbmod, rep;  
         char *user, *zone, *tag, *cp;  
         char *modules[CVS_HISTORY_MAXMOD], histpath[MAXPATHLEN];  
         struct cvsroot *root;  
         struct cvs_hent *hent;  
         CVSHIST *hp;  
   
         tag = NULL;          while ((ch = getopt(argc, argv, opt)) != -1) {
         user = NULL;  
         zone = "+0000";  
         nbmod = 0;  
         flags = 0;  
         rep = 0;  
   
         while ((ch = getopt(argc, argv, "acelm:oTt:u:wx:z:")) != -1) {  
                 switch (ch) {                  switch (ch) {
                 case 'a':                  case 'a':
                         flags |= CVS_HF_A;                          flags |= CVS_HF_A;
Line 127 
Line 128 
                         break;                          break;
                 case 'x':                  case 'x':
                         rep++;                          rep++;
                         for (cp = optarg; *cp != '\0'; cp++) {  
                         }  
                         break;                          break;
                 case 'z':                  case 'z':
                         zone = optarg;                          zone = optarg;
Line 145 
Line 144 
         } else if (rep == 0)          } else if (rep == 0)
                 flags |= CVS_HF_O;    /* use -o as default */                  flags |= CVS_HF_O;    /* use -o as default */
   
         root = cvsroot_get(".");          *arg = optind;
         if (root == NULL) {          return (0);
                 cvs_log(LP_ERR,  }
                     "No CVSROOT specified!  Please use the `-d' option");  
                 cvs_log(LP_ERR,  
                     "or set the CVSROOT environment variable.");  
                 return (EX_USAGE);  
         }  
         if (root->cr_method == CVS_METHOD_LOCAL) {  
                 snprintf(histpath, sizeof(histpath), "%s/%s", root->cr_dir,  
                     CVS_PATH_HISTORY);  
                 hp = cvs_hist_open(histpath);  
                 if (hp == NULL) {  
                         return (EX_UNAVAILABLE);  
                 }  
   
                 while ((hent = cvs_hist_getnext(hp)) != NULL) {  int
                         cvs_history_print(hent);  cvs_history_sendflags(struct cvsroot *root)
                 }  {
                 cvs_hist_close(hp);  
         } else {  
                 if (cvs_connect(root) < 0)  
                         return (EX_PROTOCOL);  
   
                 if ((flags & CVS_HF_C) && (cvs_sendarg(root, "-c", 0) < 0))          if ((flags & CVS_HF_C) && (cvs_sendarg(root, "-c", 0) < 0))
                         return (EX_PROTOCOL);                  return (EX_PROTOCOL);
   
                 if ((flags & CVS_HF_O) && (cvs_sendarg(root, "-o", 0) < 0))          if ((flags & CVS_HF_O) && (cvs_sendarg(root, "-o", 0) < 0))
                         return (EX_PROTOCOL);                  return (EX_PROTOCOL);
   
                 if (tag != NULL) {          if (tag != NULL) {
                         if ((cvs_sendarg(root, "-t", 0) < 0) ||                  if ((cvs_sendarg(root, "-t", 0) < 0) ||
                             (cvs_sendarg(root, tag, 0) < 0))                      (cvs_sendarg(root, tag, 0) < 0))
                                 return (EX_PROTOCOL);  
                 }  
                 if (user != NULL) {  
                         if ((cvs_sendarg(root, "-u", 0) < 0) ||  
                             (cvs_sendarg(root, user, 0) < 0))  
                                 return (EX_PROTOCOL);  
                 }  
   
                 if ((cvs_sendarg(root, "-z", 0) < 0) ||  
                     (cvs_sendarg(root, zone, 0) < 0))  
                         return (EX_PROTOCOL);                          return (EX_PROTOCOL);
           }
   
                 if (cvs_sendreq(root, CVS_REQ_HISTORY, NULL) < 0)          if (user != NULL) {
                   if ((cvs_sendarg(root, "-u", 0) < 0) ||
                       (cvs_sendarg(root, user, 0) < 0))
                         return (EX_PROTOCOL);                          return (EX_PROTOCOL);
         }          }
   
           if ((cvs_sendarg(root, "-z", 0) < 0) ||
               (cvs_sendarg(root, zone, 0) < 0))
                   return (EX_PROTOCOL);
   
         return (0);          return (0);
 }  }

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.9