2004-03-23 14:50 UTC+0100 Ryszard Glab <rglab@imid.med.pl>

* source/pp/ppcore.c
      * fixed parsing of nested #defines in command/translate
      for example:
      #define PRE_CHAR  'A'
      #define IDX_EXPR(x)  PRE_CHAR+x
      INDEX ON IDX_EXPR(myfield) TO myfile

   * source/pp/pptable.c
      * updated for fixes in ppcore.c (_DFSET define)
This commit is contained in:
Ryszard Glab
2004-03-23 13:31:11 +00:00
parent 665f353484
commit 641d0c4c5a
3 changed files with 18 additions and 6 deletions

View File

@@ -8,6 +8,17 @@
2002-12-01 23:12 UTC+0100 Foo Bar <foo.bar@foobar.org>
*/
2004-03-23 14:50 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
* source/pp/ppcore.c
* fixed parsing of nested #defines in command/translate
for example:
#define PRE_CHAR 'A'
#define IDX_EXPR(x) PRE_CHAR+x
INDEX ON IDX_EXPR(myfield) TO myfile
* source/pp/pptable.c
* updated for fixes in ppcore.c (_DFSET define)
2004-03-21 21:48 UTC-0800 Luis Krause Mantilla <lkrausem /*at*/ shaw /*dot*/ ca>
* source/rtl/tbcolumn.prg
+ added PreBlock and PostBlock instance variables for Clipper 5.3x compatibility

View File

@@ -1166,7 +1166,7 @@ int hb_pp_ParseExpression( char * sLine, char * sOutLine )
rezDef = 0; rezTra = 0; rezCom = 0;
isdvig = 0;
do
{
ptro = sOutLine;
@@ -1222,13 +1222,11 @@ int hb_pp_ParseExpression( char * sLine, char * sOutLine )
}
hb_pp_Stuff( ptro, ptrb, i, ptri-ptrb, lens+1 );
if( ipos > 0 )
{
ipos += i - (ptri-ptrb);
*(sLine + isdvig + ipos - 1) = '\0';
}
ptri += i - (ptri-ptrb);
}
}
@@ -1241,6 +1239,8 @@ int hb_pp_ParseExpression( char * sLine, char * sOutLine )
printf( "After #defines: >%s<\n", sLine );
#endif
if( rezDef == 0 )
{
/* Look for definitions from #translate */
stcmd = hb_pp_topTranslate;
while( stcmd != NULL )
@@ -1284,7 +1284,8 @@ int hb_pp_ParseExpression( char * sLine, char * sOutLine )
stcmd = stcmd->last;
}
} /* rezDef == 0 */
#if 0
if( *sOutLine )
printf( "*After #translate: >%s<\n", sOutLine );
@@ -1295,7 +1296,7 @@ int hb_pp_ParseExpression( char * sLine, char * sOutLine )
/* Look for definitions from #command */
/* JFL ! Was 3 but insufficient in most cases */
/* I know this is a new hardcoded limit ... any better idea's welcome */
if( kolpass < 20 )
if( rezDef==0 && rezTra==0 && kolpass < 20 )
{
ptri = sLine + isdvig;
HB_SKIPTABSPACES( ptri );

View File

@@ -110,7 +110,7 @@ void hb_pp_Table( void )
static DEFINES sD___39 = {"_SET_WRAP",NULL,-1,"35", &sD___38 };
static DEFINES sD___40 = {"_SET_COUNT",NULL,-1,"47", &sD___39 };
static DEFINES sD___41 = {"_SET_CH",NULL,-1,NULL, &sD___40 };
static DEFINES sD___42 = {"_DFSET","x,y",2,"Set( _SET_DATEFORMAT, if(__SetCentury(), x, y) )", &sD___41 };
static DEFINES sD___42 = {"_DFSET","\001x,\001y",2,"Set( _SET_DATEFORMAT, if(__SetCentury(), \001x, \001y) )", &sD___41 };
static DEFINES sD___43 = {"_SET_VIDEOMODE",NULL,-1,"40", &sD___42 };
static DEFINES sD___44 = {"_SET_MBLOCKSIZE",NULL,-1,"41", &sD___43 };
static DEFINES sD___45 = {"_SET_MFILEEXT",NULL,-1,"42", &sD___44 };