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

Diff for /src/usr.bin/rcs/co.c between version 1.93 and 1.94

version 1.93, 2006/05/27 08:12:29 version 1.94, 2006/05/28 23:16:31
Line 36 
Line 36 
 int  int
 checkout_main(int argc, char **argv)  checkout_main(int argc, char **argv)
 {  {
         int fd, i, ch, flags, kflag, status, warg;          int fd, i, ch, flags, kflag, status;
         RCSNUM *rev;          RCSNUM *rev;
         RCSFILE *file;          RCSFILE *file;
           const char *author, *date, *state;
         char fpath[MAXPATHLEN];          char fpath[MAXPATHLEN];
         char *author, *date, *rev_str, *username, *state;          char *rev_str, *username;
         time_t rcs_mtime = -1;          time_t rcs_mtime = -1;
   
         warg = flags = status = 0;          flags = status = 0;
         kflag = RCS_KWEXP_ERR;          kflag = RCS_KWEXP_ERR;
         rev = RCS_HEAD_REV;          rev = RCS_HEAD_REV;
         rev_str = NULL;          rev_str = NULL;
         state = NULL;          author = date = state = NULL;
         author = NULL;  
         date = NULL;  
   
         while ((ch = rcs_getopt(argc, argv, CO_OPTSTRING)) != -1) {          while ((ch = rcs_getopt(argc, argv, CO_OPTSTRING)) != -1) {
                 switch (ch) {                  switch (ch) {
                 case 'd':                  case 'd':
                         date = xstrdup(rcs_optarg);                          date = rcs_optarg;
                         break;                          break;
                 case 'f':                  case 'f':
                         rcs_setrevstr(&rev_str, rcs_optarg);                          rcs_setrevstr(&rev_str, rcs_optarg);
Line 97 
Line 96 
                         rcs_setrevstr(&rev_str, rcs_optarg);                          rcs_setrevstr(&rev_str, rcs_optarg);
                         break;                          break;
                 case 's':                  case 's':
                         state = xstrdup(rcs_optarg);                          state = rcs_optarg;
                         flags |= CO_STATE;                          flags |= CO_STATE;
                         break;                          break;
                 case 'T':                  case 'T':
Line 119 
Line 118 
                         if (rcs_optarg == NULL) {                          if (rcs_optarg == NULL) {
                                 if ((author = getlogin()) == NULL)                                  if ((author = getlogin()) == NULL)
                                         err(1, "getlogin");                                          err(1, "getlogin");
                         } else {                          } else
                                 author = xstrdup(rcs_optarg);                                  author = rcs_optarg;
                                 warg = 1;  
                         }  
                         flags |= CO_AUTHOR;                          flags |= CO_AUTHOR;
                         break;                          break;
                 case 'x':                  case 'x':
Line 208 
Line 205 
                         rcs_set_mtime(file, rcs_mtime);                          rcs_set_mtime(file, rcs_mtime);
                 rcs_close(file);                  rcs_close(file);
         }          }
   
         if (author != NULL && warg)  
                 xfree(author);  
   
         if (date != NULL)  
                 xfree(date);  
   
         if (state != NULL)  
                 xfree(state);  
   
         return (status);          return (status);
 }  }

Legend:
Removed from v.1.93  
changed lines
  Added in v.1.94