Quick Search:

Mode

Context

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

Other Diffs

Ignore

Blank Lines Whitespace: Expand:

Diff

1.77
 
1.78
 
MAIN:ragge:20080406090733
 
cpp.c
_>988988                                 else
 989989                                         orgexp++;
 990990 
<>991 -                        DDPRINT(("id1: noexp %d orgexp %d\n", noexp, orgexp));
  991+                        DDPRINT(("id1: typ %d noexp %d orgexp %d\n",
  992+                            c, noexp, orgexp));
992993                         if (c == IDENT) { /* XXX numbers? */
 993994                                 DDPRINT(("id2: str %s\n", yytext));
 994995                                 /* OK to always expand here? */
     
 !
11251126          */
 11261127         inmac = 1;
 11271128         sptr = stringbuf;
<> 1129+        instr = 0;
11281130         for (i = 0; i < narg && c != ')'; i++) {
 11291131                 args[i] = stringbuf;
 11301132                 plev = 0;
 11311133                 while ((c = yylex()) == WSPACE || c == '\n')
 11321134                         ;
<> 1135+                DDPRINT((":AAA (%d)", c));
  1136+                if (instr == -1)
  1137+                        savch(NOEXP), instr = 1;
  1138+                if (c == NOEXP)
  1139+                        instr = 1;
11331140                 for (;;) {
 11341141                         if (plev == 0 && (c == ')' || c == ','))
 11351142                                 break;
     
 !
11401147                         savstr((usch *)yytext);
 11411148                         while ((c = yylex()) == '\n')
 11421149                                 savch('\n');
<> 1150+                        if (c == EXPAND)
  1151+                                instr = 0;
11431152                 }
 11441153                 while (args[i] < stringbuf &&
 11451154                     (stringbuf[-1] == ' ' || stringbuf[-1] == '\t'))
 11461155                         stringbuf--;
<> 1156+                if (instr == 1)
  1157+                        savch(EXPAND), instr = -1;
11471158                 savch('\0');
 11481159         }
 11491160         if (ellips)
 11501161                 args[i] = (usch *)"";
 11511162         if (ellips && c != ')') {
 11521163                 args[i] = stringbuf;
 11531164                 plev = 0;
<> 1165+                instr = 0;
11541166                 while ((c = yylex()) == WSPACE)
 11551167                         ;
<> 1168+                if (c == NOEXP)
  1169+                        instr++;
  1170+                DDPRINT((":AAY (%d)", c));
11561171                 for (;;) {
 11571172                         if (plev == 0 && c == ')')
 11581173                                 break;
 11591174                         if (c == '(')
 11601175                                 plev++;
 11611176                         if (c == ')')
 11621177                                 plev--;
<>1163 -                        savstr((usch *)yytext);
  1178+                        if (plev == 0 && c == ',' && instr) {
  1179+                                savch(EXPAND);
  1180+                                savch(',');
  1181+                                savch(NOEXP);
  1182+                        } else
  1183+                                savstr((usch *)yytext);
11641184                         while ((c = yylex()) == '\n')
 11651185                                 savch('\n');
<> 1186+                        if (c == EXPAND)
  1187+                                instr--;
<_11661188                 }
 11671189                 while (args[i] < stringbuf &&
 11681190                     (stringbuf[-1] == ' ' || stringbuf[-1] == '\t'))
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-09-02 06:24 +0200