Quick Search:

Mode

Context

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

Other Diffs

Ignore

Blank Lines Whitespace: Expand:

Diff

1.104
 
1.105
 
MAIN:ragge:20100608163831
 
cpp.c
_>550550         if (c == '<') {
 551551                 fn = stringbuf;
 552552                 while ((c = sloscan()) != '>' && c != '\n') {
<>553 -                        if (c == '\n')
  553+                        if (c == '\n') /* XXX check - cannot reach */
554554                                 goto bad;
 555555                         savstr((usch *)yytext);
 556556                 }
     
 !
601601 void
 602602 include_next()
 603603 {
<>604 -        if (fsrch(ifiles->fn, ifiles->idx, ifiles->incs) == 0)
 605 -                error("cannot find '%s'", ifiles->fn);
  604+        struct symtab *nl;
  605+        usch *osp;
  606+        usch *fn;
  607+        int c;
  608+
  609+        osp = stringbuf;
  610+        while ((c = sloscan()) == WSPACE)
  611+                ;
  612+        if (c == IDENT) {
  613+                /* sloscan() will not expand idents */
  614+                if ((nl = lookup((usch *)yytext, FIND)) == NULL)
  615+                        goto bad;
  616+                unpstr(gotident(nl));
  617+                stringbuf = osp;
  618+                c = yylex();
  619+        }
  620+        if (c != STRING && c != '<')
  621+                goto bad;
  622+
  623+        fn = stringbuf;
  624+        if (c == STRING) {
  625+                savstr((usch *)&yytext[1]);
  626+                stringbuf[-1] = 0;
  627+        } else { /* < > */
  628+                while ((c = sloscan()) != '>') {
  629+                        if (c == '\n')
  630+                                goto bad;
  631+                        savstr((usch *)yytext);
  632+                }
  633+                savch('\0');
  634+        }
  635+        while ((c = sloscan()) == WSPACE)
  636+                ;
  637+        if (c != '\n')
  638+                goto bad;
  639+
  640+        if (fsrch(fn, ifiles->idx, ifiles->incs) == 0)
  641+                error("cannot find '%s'", fn);
  642+        prtline();
  643+        return;
  644+
  645+bad:    error("bad include");
  646+        /* error() do not return */
<_606647 }
 607648 
 608649 static int
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-08-29 05:17 +0200