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

Diff for /src/usr.bin/rcs/ci.c between version 1.98 and 1.99

version 1.98, 2006/02/16 17:44:53 version 1.99, 2006/02/16 18:05:47
Line 963 
Line 963 
 {  {
         char *tokens[10], *p, *datestring;          char *tokens[10], *p, *datestring;
         size_t len = 0;          size_t len = 0;
         u_int k;          int i = 0;
         /* Parse data out of the expanded keyword */          /* Parse data out of the expanded keyword */
         switch (checkin_keywordtype(keystring)) {          switch (checkin_keywordtype(keystring)) {
         case KW_TYPE_ID:          case KW_TYPE_ID:
                 k = 0;  
                 for ((p =strtok(keystring, " ")); p;                  for ((p =strtok(keystring, " ")); p;
                      (p = strtok(NULL, " "))) {                       (p = strtok(NULL, " "))) {
                         if (k < KW_NUMTOKS_ID - 1)                          if (i < KW_NUMTOKS_ID - 1)
                                 tokens[k++] = p;                                  tokens[i++] = p;
                 }                  }
                 tokens[k] = NULL;                  tokens[i] = NULL;
                 if (*author != NULL)                  if (*author != NULL)
                         xfree(*author);                          xfree(*author);
                 if (*state != NULL)                  if (*state != NULL)
Line 999 
Line 998 
                 xfree(datestring);                  xfree(datestring);
                 break;                  break;
         case KW_TYPE_AUTHOR:          case KW_TYPE_AUTHOR:
                 k = 0;  
                 for ((p =strtok(keystring, " ")); p;                  for ((p =strtok(keystring, " ")); p;
                      (p = strtok(NULL, " "))) {                       (p = strtok(NULL, " "))) {
                         if (k < KW_NUMTOKS_AUTHOR - 1)                          if (i < KW_NUMTOKS_AUTHOR - 1)
                                 tokens[k++] = p;                                  tokens[i++] = p;
                 }                  }
                 if (*author != NULL)                  if (*author != NULL)
                         xfree(*author);                          xfree(*author);
Line 1012 
Line 1010 
                 strlcpy(*author, tokens[1], len);                  strlcpy(*author, tokens[1], len);
                 break;                  break;
         case KW_TYPE_DATE:          case KW_TYPE_DATE:
                 k = 0;  
                 for ((p =strtok(keystring, " ")); p;                  for ((p =strtok(keystring, " ")); p;
                      (p = strtok(NULL, " "))) {                       (p = strtok(NULL, " "))) {
                         if (k < KW_NUMTOKS_DATE - 1)                          if (i < KW_NUMTOKS_DATE - 1)
                                 tokens[k++] = p;                                  tokens[i++] = p;
                 }                  }
                 len = strlen(tokens[1]) + strlen(tokens[2]) + 2;                  len = strlen(tokens[1]) + strlen(tokens[2]) + 2;
                 datestring = xmalloc(len);                  datestring = xmalloc(len);
Line 1028 
Line 1025 
                 xfree(datestring);                  xfree(datestring);
                 break;                  break;
         case KW_TYPE_STATE:          case KW_TYPE_STATE:
                 k = 0;  
                 for ((p =strtok(keystring, " ")); p;                  for ((p =strtok(keystring, " ")); p;
                      (p = strtok(NULL, " "))) {                       (p = strtok(NULL, " "))) {
                         if (k < KW_NUMTOKS_STATE - 1)                          if (i < KW_NUMTOKS_STATE - 1)
                                 tokens[k++] = p;                                  tokens[i++] = p;
                 }                  }
                 if (*state != NULL)                  if (*state != NULL)
                         xfree(*state);                          xfree(*state);
Line 1044 
Line 1040 
                 /* only parse revision if one is not already set */                  /* only parse revision if one is not already set */
                 if (*rev != NULL)                  if (*rev != NULL)
                         break;                          break;
                 k = 0;  
                 for ((p =strtok(keystring, " ")); p;                  for ((p =strtok(keystring, " ")); p;
                      (p = strtok(NULL, " "))) {                       (p = strtok(NULL, " "))) {
                         if (k < KW_NUMTOKS_REVISION - 1)                          if (i < KW_NUMTOKS_REVISION - 1)
                                 tokens[k++] = p;                                  tokens[i++] = p;
                 }                  }
                 if ((*rev = rcsnum_parse(tokens[1])) == NULL)                  if ((*rev = rcsnum_parse(tokens[1])) == NULL)
                         fatal("could not parse rcsnum");                          fatal("could not parse rcsnum");

Legend:
Removed from v.1.98  
changed lines
  Added in v.1.99