diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 4fc3e4335c..b35a08c1db 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -1,3 +1,7 @@ +2000-09-20 10:40 GMT+3 Alexander Kresin + * source/pp/ppcore.c + * fixed bug, reported by J. Lefebvre + 2000-09-19 10:40 UTC+0800 Ron Pinkas * source/pp/ppcore.c ! Corrected JFL previous change, which commented a fix that solved problem with code like "@&Row,...". diff --git a/harbour/source/pp/ppcore.c b/harbour/source/pp/ppcore.c index 88c0805694..173f3e1a70 100644 --- a/harbour/source/pp/ppcore.c +++ b/harbour/source/pp/ppcore.c @@ -1608,7 +1608,9 @@ static int WorkMarkers( char ** ptrmp, char ** ptri, char * ptro, int * lenres, else if( *(exppatt+2) == '1' ) /* ---- list match marker */ { if( !lenreal ) lenreal = getExpReal( expreal, ptri, TRUE, maxlenreal, FALSE ); - SearnRep( exppatt,expreal,lenreal,ptro,lenres); + if( lenreal ) + SearnRep( exppatt,expreal,lenreal,ptro,lenres); + else return 0; } else /* ---- regular match marker */ { @@ -1618,7 +1620,9 @@ static int WorkMarkers( char ** ptrmp, char ** ptri, char * ptro, int * lenres, /* printf("Len: %i Pat: %s Exp: %s\n", lenreal, exppatt, expreal ); */ - SearnRep( exppatt,expreal,lenreal,ptro,lenres); + if( lenreal ) + SearnRep( exppatt,expreal,lenreal,ptro,lenres); + else return 0; } return 1; }