diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 4f7e90a9e8..c5e1270da9 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,13 @@ 2002-12-01 23:12 UTC+0100 Foo Bar */ +2004-07-12 17:19 UTC-0800 Luis Krause Mantilla + * source/rdd/dbcmd.c + ! fixed Clipper compatibility bug reported by Serge Jakimoff + * source/rtl/minmax.c + ! Fixed r/t error when Min() and Max() received logical values + to have Clipper compatibility + 2004-07-09 12:15 UTC+0100 Ryszard Glab * include/hbapi.h * source/vm/codebloc.c diff --git a/harbour/source/rdd/dbcmd.c b/harbour/source/rdd/dbcmd.c index ad440b261c..8180eddacf 100644 --- a/harbour/source/rdd/dbcmd.c +++ b/harbour/source/rdd/dbcmd.c @@ -1204,14 +1204,11 @@ HB_FUNC( __DBCONTINUE ) return; ( ( AREAP ) s_pCurrArea->pArea )->fFound = FALSE; - SELF_SKIP( ( AREAP ) s_pCurrArea->pArea, 1 ); - if( ( ( AREAP ) s_pCurrArea->pArea )->fEof ) - return; - - ( ( AREAP ) s_pCurrArea->pArea )->fFound = hb_itemGetL( hb_vmEvalBlock( ( ( AREAP ) s_pCurrArea->pArea )->dbsi.itmCobFor ) ); - while( !( ( AREAP ) s_pCurrArea->pArea )->fEof && !( ( AREAP ) s_pCurrArea->pArea )->fFound ) + while( !( ( AREAP ) s_pCurrArea->pArea )->fFound ) { SELF_SKIP( ( AREAP ) s_pCurrArea->pArea, 1 ); + if( ( ( AREAP ) s_pCurrArea->pArea )->fEof ) + return; ( ( AREAP ) s_pCurrArea->pArea )->fFound = hb_itemGetL( hb_vmEvalBlock( ( ( AREAP ) s_pCurrArea->pArea )->dbsi.itmCobFor ) ); } } diff --git a/harbour/source/rtl/minmax.c b/harbour/source/rtl/minmax.c index fcac2f4c40..32894de761 100644 --- a/harbour/source/rtl/minmax.c +++ b/harbour/source/rtl/minmax.c @@ -96,6 +96,13 @@ HB_FUNC( MAX ) hb_retni( i1 >= i2 ? i1 : i2 ); } } + else if( HB_IS_LOGICAL( p1 ) && HB_IS_LOGICAL( p2 ) ) + { + BOOL b1 = hb_itemGetL( p1 ); + BOOL b2 = hb_itemGetL( p2 ); + + hb_retl( b1 >= b2 ? b1 : b2 ); + } else if( HB_IS_DATE( p1 ) && HB_IS_DATE( p2 ) ) { char szDate[ 9 ]; @@ -148,6 +155,13 @@ HB_FUNC( MIN ) hb_retni( i1 <= i2 ? i1 : i2 ); } } + else if( HB_IS_LOGICAL( p1 ) && HB_IS_LOGICAL( p2 ) ) + { + BOOL b1 = hb_itemGetL( p1 ); + BOOL b2 = hb_itemGetL( p2 ); + + hb_retl( b1 <= b2 ? b1 : b2 ); + } else if( HB_IS_DATE( p1 ) && HB_IS_DATE( p2 ) ) { char szDate[ 9 ];