Quick Search:

Mode

Context

Displaying 3 lines of context. None | Less | More | Full

Other Diffs

Ignore

Blank Lines Whitespace: Expand:

Diff

1.51
 
1.52
 
MAIN:ragge:20070819192215
 
cpp.c
_>8888 #include "y.tab.h"
 8989 
 9090 #define MAXARG  250     /* # of args to a macro, limited by char value */
<>91 -#define SBSIZE  400000
  91+#define SBSIZE  600000
9292 
 9393 static usch     sbf[SBSIZE];
 9494 /* C command */
     
 !
409409 {
 410410         static usch *lbuf;
 411411         static int llen;
<>412 -        struct symtab *nl;
413412         int c;
 414413 
 415414         slow = 1;
 416415         if (yylex() != WSPACE)
 417416                 goto bad;
<>418 -        if ((c = yylex()) == IDENT) {
 419 -                /* Do macro preprocessing first */
 420 -                usch *osp = stringbuf;
 421 -                if ((nl = lookup((usch *)yytext, FIND)) == NULL)
 422 -                        goto bad;
 423 -                unpstr(gotident(nl));
 424 -                stringbuf = osp;
 425 -                c = yylex();
 426 -        }
 427 -
 428 -        if (c != NUMBER)
  417+        if ((c = yylex()) != IDENT || !isdigit((int)yytext[0]))
429418                 goto bad;
 430419         ifiles->lineno = atoi(yytext);
 431420 
     
 !
439428                 goto bad;
 440429         c = strlen((char *)yytext);
 441430         if (llen < c) {
<>442 -                /* may loose heap space */
  431+                /* XXX may loose heap space */
443432                 lbuf = stringbuf;
 444433                 stringbuf += c;
 445434                 llen = c;
     
 !
771760 {
 772761         struct recur rp2;
 773762         register usch *vp, *cp;
<>774 -        int c, rv = 0;
  763+        int c, rv = 0, ws;
775764 
 776765         DPRINT(("subst: %s\n", sp->namep));
 777766         /*
     
 !
795784                 /* should we be here at all? */
 796785                 /* check if identifier is followed by parentheses */
 797786                 rv = 1;
<> 787+                ws = 0;
798788                 do {
 799789                         c = yylex();
 800790                         if (c == WARN) {
 801791                                 gotwarn++;
 802792                                 if (rp == NULL)
 803793                                         goto noid;
<>804 -                        }
  794+                        } else if (c == WSPACE)
  795+                                ws = 1;
805796                 } while (c == WSPACE || c == '\n' || c == WARN);
 806797 
 807798                 cp = (usch *)yytext;
     
 !
817808                         /* restore identifier */
 818809 noid:                   while (gotwarn--)
 819810                                 cunput(WARN);
<>820 -                        cunput(' ');
  811+                        if (ws)
  812+                                cunput(' ');
<_821813                         cp = sp->namep;
 822814                         while (*cp)
 823815                                 cp++;
FishEye: Open Source License registered to PCC.
Your maintenance has expired. You can renew your license at http://www.atlassian.com/fisheye/renew
Atlassian FishEye, CVS analysis. (Version:1.6.3 Build:build-336 2008-11-04) - Administration - Page generated 2014-11-01 15:05 +0100