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

Diff for /src/usr.bin/rcs/rlog.c between version 1.29 and 1.30

version 1.29, 2006/03/16 04:04:57 version 1.30, 2006/03/17 08:51:45
Line 32 
Line 32 
   
 static int        rlog_file(const char *, const char *);  static int        rlog_file(const char *, const char *);
 static void       rlog_rev_print(struct rcs_delta *);  static void       rlog_rev_print(struct rcs_delta *);
 static char     **rlog_strsplit(char *, const char *);  
   
 #define REVSEP          "----------------------------"  #define REVSEP          "----------------------------"
 #define REVEND \  #define REVEND \
Line 236 
Line 235 
                         /* if locker is empty, no need to go further. */                          /* if locker is empty, no need to go further. */
                         if (rdp->rd_locker == NULL)                          if (rdp->rd_locker == NULL)
                                 return;                                  return;
                         largv = rlog_strsplit(llist, ",");                          largv = cvs_strsplit(llist, ",");
                         for (i = 0; largv[i] != NULL; i++) {                          for (i = 0; largv[i] != NULL; i++) {
                                 if (strcmp(rdp->rd_locker, largv[i]) == 0) {                                  if (strcmp(rdp->rd_locker, largv[i]) == 0) {
                                         found++;                                          found++;
Line 248 
Line 247 
         }          }
         /* -sstates */          /* -sstates */
         if (slist != NULL) {          if (slist != NULL) {
                 sargv = rlog_strsplit(slist, ",");                  sargv = cvs_strsplit(slist, ",");
                 for (i = 0; sargv[i] != NULL; i++) {                  for (i = 0; sargv[i] != NULL; i++) {
                         if (strcmp(rdp->rd_state, sargv[i]) == 0) {                          if (strcmp(rdp->rd_state, sargv[i]) == 0) {
                                 found++;                                  found++;
Line 260 
Line 259 
         /* -w[logins] */          /* -w[logins] */
         if (wflag == 1) {          if (wflag == 1) {
                 if (wlist != NULL) {                  if (wlist != NULL) {
                         wargv = rlog_strsplit(wlist, ",");                          wargv = cvs_strsplit(wlist, ",");
                         for (i = 0; wargv[i] != NULL; i++) {                          for (i = 0; wargv[i] != NULL; i++) {
                                 if (strcmp(rdp->rd_author, wargv[i]) == 0) {                                  if (strcmp(rdp->rd_author, wargv[i]) == 0) {
                                         found++;                                          found++;
Line 300 
Line 299 
             rdp->rd_date.tm_min, rdp->rd_date.tm_sec,              rdp->rd_date.tm_min, rdp->rd_date.tm_sec,
             rdp->rd_author, rdp->rd_state);              rdp->rd_author, rdp->rd_state);
         printf("%s", rdp->rd_log);          printf("%s", rdp->rd_log);
 }  
   
 /*  
  * rlog_strsplit()  
  *  
  * Split a string <str> of <sep>-separated values and allocate  
  * an argument vector for the values found.  
  */  
 static char **  
 rlog_strsplit(char *str, const char *sep)  
 {  
         char **argv, **nargv;  
         char *cp, *p;  
         int i = 0;  
   
         cp = xstrdup(str);  
         argv = (char **)xmalloc((i+1) * sizeof(char *));  
   
         while ((p = strsep(&cp, sep)) != NULL) {  
                 argv[i++] = p;  
                 nargv = (char **)xrealloc((void *)argv, (i+1) * sizeof(char *));  
                 argv = nargv;  
         }  
         argv[i] = NULL;  
   
         return (argv);  
 }  }

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