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

Diff for /src/usr.bin/awk/lex.c between version 1.7 and 1.8

version 1.7, 2003/07/02 21:04:09 version 1.8, 2004/12/30 01:52:48
Line 157 
Line 157 
                 *bp = 0;                  *bp = 0;
                 strtod(buf, &rem);      /* parse the number */                  strtod(buf, &rem);      /* parse the number */
                 unputstr(rem);          /* put rest back for later */                  unputstr(rem);          /* put rest back for later */
   /* printf("unputstr [%s], buf [%s]\n", rem, buf); */
                 if (rem == buf) {       /* it wasn't a valid number at all */                  if (rem == buf) {       /* it wasn't a valid number at all */
                         buf[1] = 0;     /* so return one character as token */                          buf[1] = 0;     /* so return one character as token */
                         retc = buf[0];  /* character is its own type */                          retc = buf[0];  /* character is its own type */
Line 192 
Line 193 
                 reg = 0;                  reg = 0;
                 return regexpr();                  return regexpr();
         }          }
   /* printf("top\n"); */
         for (;;) {          for (;;) {
                 c = gettok(&buf, &bufsize);                  c = gettok(&buf, &bufsize);
   /* printf("gettok [%s]\n", buf); */
                 if (c == 0)                  if (c == 0)
                         return 0;                          return 0;
                 if (isalpha(c) || c == '_')                  if (isalpha(c) || c == '_')
Line 534 
Line 537 
                 }                  }
         }          }
         *bp = 0;          *bp = 0;
           if (c == 0)
                   SYNTAX("non-terminated regular expression %.10s...", buf);
         yylval.s = tostring(buf);          yylval.s = tostring(buf);
         unput('/');          unput('/');
         RET(REGEXPR);          RET(REGEXPR);
Line 553 
Line 558 
         extern char *lexprog;          extern char *lexprog;
   
         if (yysptr > yysbuf)          if (yysptr > yysbuf)
                 c = *--yysptr;                  c = (uschar)*--yysptr;
         else if (lexprog != NULL) {     /* awk '...' */          else if (lexprog != NULL) {     /* awk '...' */
                 if ((c = *lexprog) != 0)                  if ((c = (uschar)*lexprog) != 0)
                         lexprog++;                          lexprog++;
         } else                          /* awk -f ... */          } else                          /* awk -f ... */
                 c = pgetc();                  c = pgetc();

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