From 4bb02937e2bc404dd5af8dea9ac299d163d6c7ec Mon Sep 17 00:00:00 2001 From: "Alexander S.Kresin" Date: Wed, 25 Oct 2000 10:16:02 +0000 Subject: [PATCH] 2000-10-25 13:45 GMT+3 Alexander Kresin --- harbour/ChangeLog | 6 ++++++ harbour/source/pp/ppcore.c | 12 +++++++++--- harbour/utils/hbpp/hbpp.c | 7 +++++-- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 702a43ef5a..40ba15b594 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -1,3 +1,9 @@ +2000-10-25 13:45 GMT+3 Alexander Kresin + * source/pp/ppcore.c + * fixed problem, reported by John Skelton + * utils/hbpp/hbpp.c + * it was broken, table of predefined commands wasn't set. + 2000-10-23 23:29 GMT+2 Maurilio Longo * contrib/mysql/*.prg * changes / fixes as needed :-) diff --git a/harbour/source/pp/ppcore.c b/harbour/source/pp/ppcore.c index 8554b65e16..4c53955cc7 100644 --- a/harbour/source/pp/ppcore.c +++ b/harbour/source/pp/ppcore.c @@ -2593,7 +2593,7 @@ static int md_strAt( char * szSub, int lSubLen, char * szText, BOOL checkword, B { int State = STATE_NORMAL; long lPos = 0, lSubPos = 0; - int kolPrth = 0, kolSquare = 0; + int kolPrth = 0, kolSquare = 0, kolFig = 0; int lCase = ( *szSub == '\1' )? 0:1; HB_TRACE(HB_TR_DEBUG, ("md_strAt(%s, %d, %s, %d, %d)", szSub, lSubLen, szText, checkword, checkPrth)); @@ -2656,9 +2656,15 @@ static int md_strAt( char * szSub, int lSubLen, char * szText, BOOL checkword, B kolPrth++; else if( *(szText+lPos) == ')' ) kolPrth--; + else if( *(szText+lPos) == '{' ) + kolFig++; + else if( *(szText+lPos) == '}' ) + kolFig--; } - if( !lSubPos && checkPrth && ( (kolPrth > 1) || - (kolPrth == 1 && *(szText+lPos) != '(') || (kolPrth == 0 && *(szText+lPos) == ')')) ) + if( !lSubPos && checkPrth && ( + ( (kolPrth > 1) || (kolPrth == 1 && *(szText+lPos) != '(') || (kolPrth == 0 && *(szText+lPos) == ')') ) + || ( (kolFig > 1) || (kolFig == 1 && *(szText+lPos) != '{') || (kolFig == 0 && *(szText+lPos) == '}') ) + ) ) { lPos++; continue; diff --git a/harbour/utils/hbpp/hbpp.c b/harbour/utils/hbpp/hbpp.c index 8d64912542..fc3bc7b2c9 100644 --- a/harbour/utils/hbpp/hbpp.c +++ b/harbour/utils/hbpp/hbpp.c @@ -86,8 +86,8 @@ int main( int argc, char * argv[] ) unsigned int i; BOOL bOutTable = FALSE; BOOL bOutNew = FALSE; - DEFINES * stdef = hb_pp_topDefine; - COMMANDS * stcmd = hb_pp_topCommand; + DEFINES * stdef; + COMMANDS * stcmd; HB_TRACE(HB_TR_DEBUG, ("main(%d, %p)", argc, argv)); @@ -95,6 +95,9 @@ int main( int argc, char * argv[] ) HB_VER_MAJOR, HB_VER_MINOR, HB_VER_REVISION, HB_VER_BUILD, HB_VER_YEAR, HB_VER_MONTH, HB_VER_DAY ); printf( "Copyright 1999-2000, http://www.harbour-project.org\n" ); + hb_pp_Table(); + stdef = hb_pp_topDefine; + stcmd = hb_pp_topCommand; hb_pp_Init(); while( iArg < argc )