2006-02-09 15:25 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
* source/compiler/harbour.c
* fixed to release memory allocated with the proeprocessor
* tests/mousetst.prg
* minor fix after latest Przemek changes
* source/pp/ppcore.c
* fixed bug in processing the list of optional repeatable code
reported by Lorenzo
This commit is contained in:
@@ -8,6 +8,17 @@
|
||||
2002-12-01 13:30 UTC+0100 Foo Bar <foo.bar@foobar.org>
|
||||
*/
|
||||
* fixed <-x-> match marker
|
||||
2006-02-09 15:25 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
|
||||
* source/compiler/harbour.c
|
||||
* fixed to release memory allocated with the proeprocessor
|
||||
|
||||
* tests/mousetst.prg
|
||||
* minor fix after latest Przemek changes
|
||||
|
||||
* source/pp/ppcore.c
|
||||
* fixed bug in processing the list of optional repeatable code
|
||||
reported by Lorenzo
|
||||
|
||||
2006-02-09 12:52 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
||||
* harbour/bin/bld.cmd
|
||||
+ added -ldbffpt, -lhbsix, -lhsx libraries for GCC OS2 linking
|
||||
|
||||
@@ -261,7 +261,11 @@ int main( int argc, char * argv[] )
|
||||
}
|
||||
}
|
||||
|
||||
hb_pp_Free();
|
||||
|
||||
hb_compIdentifierClose();
|
||||
if( hb_comp_pIncludePath )
|
||||
hb_fsFreeSearchPath( hb_comp_pIncludePath );
|
||||
|
||||
if( (! bAnyFiles ) && (! hb_comp_bQuiet) )
|
||||
{
|
||||
|
||||
@@ -2874,10 +2874,11 @@ static void SearnRep( char * exppatt, char * expreal, int lenreal, char * ptro,
|
||||
|
||||
HB_TRACE(HB_TR_DEBUG, ("SearnRep(%s, %s, %d, %s, %p)", exppatt, expreal, lenreal, ptro, lenres));
|
||||
|
||||
if( *(exppatt+1) == '\0' ) *( ptro + *lenres ) = '\0';
|
||||
if( *(exppatt+1) == '\0' )
|
||||
*( ptro + *lenres ) = '\0';
|
||||
|
||||
while( (ifou = md_strAt( exppatt, (*(exppatt+1))? 2:1, ptrOut, FALSE, FALSE, TRUE, MD_STR_AT_USESUBCASE )) > 0 )
|
||||
{
|
||||
|
||||
bFound = TRUE;
|
||||
rezs = FALSE;
|
||||
ptr = ptrOut + ifou - 2;
|
||||
@@ -2885,8 +2886,11 @@ static void SearnRep( char * exppatt, char * expreal, int lenreal, char * ptro,
|
||||
ptr = PrevSquare( ptr, ptro, &kolmarkers );
|
||||
if( ptr )
|
||||
{
|
||||
if( s_Repeate ) s_aIsRepeate[ s_Repeate - 1 ]++;
|
||||
if( !s_bReplacePat ) return;
|
||||
if( s_Repeate )
|
||||
s_aIsRepeate[ s_Repeate - 1 ]++;
|
||||
if( !s_bReplacePat )
|
||||
return;
|
||||
|
||||
ptr2 = ptrOut + ifou + 3;
|
||||
while( *ptr2 != ']' || *(ptr2-1) == '\\' )
|
||||
{
|
||||
@@ -2900,7 +2904,7 @@ static void SearnRep( char * exppatt, char * expreal, int lenreal, char * ptro,
|
||||
isdvig += ifou;
|
||||
rezs = TRUE;
|
||||
}
|
||||
else
|
||||
else if( s_Repeate )
|
||||
{
|
||||
if( lenreal == 0 )
|
||||
{
|
||||
@@ -2942,7 +2946,16 @@ static void SearnRep( char * exppatt, char * expreal, int lenreal, char * ptro,
|
||||
rezs = TRUE;
|
||||
}
|
||||
}
|
||||
else if( exppatt[0] == '\001' && exppatt[1] == '\000' )
|
||||
{
|
||||
/* final pass to remove optional markers */
|
||||
hb_pp_Stuff( "", ptr, 0, ptr2-ptr+1, *lenres-(ptr-ptro) );
|
||||
*lenres -= ptr2-ptr+1;
|
||||
isdvig = ptr - ptro;
|
||||
rezs = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
if( !rezs && s_bReplacePat )
|
||||
{
|
||||
if( *(ptrOut + ifou + 2) != '0' && *(exppatt+1) )
|
||||
@@ -2962,7 +2975,8 @@ static void SearnRep( char * exppatt, char * expreal, int lenreal, char * ptro,
|
||||
else if( !s_bReplacePat ) isdvig += ifou;
|
||||
ptrOut = ptro + isdvig;
|
||||
}
|
||||
if( !bFound && s_Repeate ) s_aIsRepeate[ s_Repeate - 1 ]++;
|
||||
if( !bFound && s_Repeate )
|
||||
s_aIsRepeate[ s_Repeate - 1 ]++;
|
||||
}
|
||||
|
||||
static BOOL ScanMacro( char * expreal, int lenitem, int * pNewLen )
|
||||
|
||||
@@ -9,9 +9,6 @@
|
||||
|
||||
#include "inkey.ch"
|
||||
|
||||
#define K_MBUTTONDOWN 332 // any value
|
||||
#define K_MBUTTONUP 331
|
||||
|
||||
PROCEDURE main()
|
||||
LOCAL nR := 5, nC := 38
|
||||
|
||||
|
||||
Reference in New Issue
Block a user