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

Diff for /src/usr.bin/make/cond.c between version 1.10 and 1.11

version 1.10, 1999/12/16 16:58:15 version 1.11, 1999/12/16 17:02:45
Line 186 
Line 186 
     Boolean       parens;       /* TRUE if arg should be bounded by parens */      Boolean       parens;       /* TRUE if arg should be bounded by parens */
 {  {
     register char *cp;      register char *cp;
     register Buffer buf;      BUFFER buf;
   
     cp = *linePtr;      cp = *linePtr;
     if (parens) {      if (parens) {
Line 217 
Line 217 
      * Create a buffer for the argument and start it out at 16 characters       * Create a buffer for the argument and start it out at 16 characters
      * long. Why 16? Why not?       * long. Why 16? Why not?
      */       */
     buf = Buf_Init(16);      Buf_Init(&buf, 16);
   
     while ((strchr(" \t)&|", *cp) == (char *)NULL) && (*cp != '\0')) {      while ((strchr(" \t)&|", *cp) == (char *)NULL) && (*cp != '\0')) {
         if (*cp == '$') {          if (*cp == '$') {
Line 233 
Line 233 
   
             cp2 = Var_Parse(cp, VAR_CMD, TRUE, &len, &doFree);              cp2 = Var_Parse(cp, VAR_CMD, TRUE, &len, &doFree);
   
             Buf_AddString(buf, cp2);              Buf_AddString(&buf, cp2);
             if (doFree) {              if (doFree) {
                 free(cp2);                  free(cp2);
             }              }
             cp += len;              cp += len;
         } else {          } else {
             Buf_AddChar(buf, *cp);              Buf_AddChar(&buf, *cp);
             cp++;              cp++;
         }          }
     }      }
   
     *argPtr = Buf_Retrieve(buf);      *argPtr = Buf_Retrieve(&buf);
     *argLen = Buf_Size(buf);      *argLen = Buf_Size(&buf);
     Buf_Destroy(buf, FALSE);  
   
     while (*cp == ' ' || *cp == '\t') {      while (*cp == ' ' || *cp == '\t') {
         cp++;          cp++;
Line 541 
Line 540 
   
                 if (!isspace((unsigned char) *condExpr) &&                  if (!isspace((unsigned char) *condExpr) &&
                     strchr("!=><", *condExpr) == NULL) {                      strchr("!=><", *condExpr) == NULL) {
                     Buffer buf;                      BUFFER buf;
   
                     buf = Buf_Init(0);                      Buf_Init(&buf, 0);
   
                     Buf_AddString(buf, lhs);                      Buf_AddString(&buf, lhs);
   
                     if (doFree)                      if (doFree)
                         free(lhs);                          free(lhs);
   
                     for (;*condExpr && !isspace((unsigned char) *condExpr);                      for (;*condExpr && !isspace((unsigned char) *condExpr);
                          condExpr++)                           condExpr++)
                         Buf_AddChar(buf, *condExpr);                          Buf_AddChar(&buf, *condExpr);
   
                     lhs = Buf_Retrieve(buf);                      lhs = Buf_Retrieve(&buf);
                     Buf_Destroy(buf, FALSE);  
   
                     doFree = TRUE;                      doFree = TRUE;
                 }                  }
Line 607 
Line 605 
                     char    *string;                      char    *string;
                     char    *cp, *cp2;                      char    *cp, *cp2;
                     int     qt;                      int     qt;
                     Buffer  buf;                      BUFFER  buf;
   
 do_string_compare:  do_string_compare:
                     if (((*op != '!') && (*op != '=')) || (op[1] != '=')) {                      if (((*op != '!') && (*op != '=')) || (op[1] != '=')) {
Line 616 
Line 614 
                         goto error;                          goto error;
                     }                      }
   
                     buf = Buf_Init(0);                      Buf_Init(&buf, 0);
                     qt = *rhs == '"' ? 1 : 0;                      qt = *rhs == '"' ? 1 : 0;
   
                     for (cp = &rhs[qt];                      for (cp = &rhs[qt];
Line 629 
Line 627 
                              * character, if it exists.                               * character, if it exists.
                              */                               */
                             cp++;                              cp++;
                             Buf_AddChar(buf, *cp);                              Buf_AddChar(&buf, *cp);
                         } else if (*cp == '$') {                          } else if (*cp == '$') {
                             int len;                              int len;
                             Boolean freeIt;                              Boolean freeIt;
   
                             cp2 = Var_Parse(cp, VAR_CMD, doEval,&len, &freeIt);                              cp2 = Var_Parse(cp, VAR_CMD, doEval,&len, &freeIt);
                             if (cp2 != var_Error) {                              if (cp2 != var_Error) {
                                 Buf_AddString(buf, cp2);                                  Buf_AddString(&buf, cp2);
                                 if (freeIt) {                                  if (freeIt) {
                                     free(cp2);                                      free(cp2);
                                 }                                  }
                                 cp += len - 1;                                  cp += len - 1;
                             } else {                              } else {
                                 Buf_AddChar(buf, *cp);                                  Buf_AddChar(&buf, *cp);
                             }                              }
                         } else {                          } else {
                             Buf_AddChar(buf, *cp);                              Buf_AddChar(&buf, *cp);
                         }                          }
                     }                      }
   
                     string = Buf_Retrieve(buf);                      string = Buf_Retrieve(&buf);
                     Buf_Destroy(buf, FALSE);  
   
                     if (DEBUG(COND)) {                      if (DEBUG(COND)) {
                         printf("lhs = \"%s\", rhs = \"%s\", op = %.2s\n",                          printf("lhs = \"%s\", rhs = \"%s\", op = %.2s\n",

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.11