From ea5521b0ee79e758340c607723828ce709220aeb Mon Sep 17 00:00:00 2001 From: Przemyslaw Czerpak Date: Fri, 4 Dec 2009 02:41:49 +0000 Subject: [PATCH] 2009-12-04 03:41 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/rddads/ads1.c ! fixed ordSkipUnique() to properly update BOF/EOF flags, skip over ADS BOF phantom record and respect not optimized local filters --- harbour/ChangeLog | 5 +++++ harbour/contrib/rddads/ads1.c | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 81ee63ad1b..4b90052cfb 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,11 @@ past entries belonging to author(s): Viktor Szakats. */ +2009-12-04 03:41 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + * harbour/contrib/rddads/ads1.c + ! fixed ordSkipUnique() to properly update BOF/EOF flags, skip over + ADS BOF phantom record and respect not optimized local filters + 2009-12-03 18:03 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com) * contrib/hbide/hbide.ch * contrib/hbide/hbide.prg diff --git a/harbour/contrib/rddads/ads1.c b/harbour/contrib/rddads/ads1.c index f73d21eb26..b7c2044f28 100644 --- a/harbour/contrib/rddads/ads1.c +++ b/harbour/contrib/rddads/ads1.c @@ -4470,8 +4470,15 @@ static HB_ERRCODE adsOrderInfo( ADSAREAP pArea, USHORT uiIndex, LPDBORDERINFO pO LONG lToSkip = pOrderInfo->itmNewVal && HB_IS_NUMERIC( pOrderInfo->itmNewVal ) ? hb_itemGetNL( pOrderInfo->itmNewVal ) : 1; if( hIndex ) + { hb_itemPutL( pOrderInfo->itmResult, AdsSkipUnique( hIndex, lToSkip >= 0 ? 1 : -1 ) == AE_SUCCESS ); + hb_adsUpdateAreaFlags( pArea ); + /* Force relational movement in child WorkAreas */ + if( pArea->area.lpdbRelations ) + SELF_SYNCCHILDREN( ( AREAP ) pArea ); + SELF_SKIPFILTER( ( AREAP ) pArea, lToSkip ); + } else hb_itemPutL( pOrderInfo->itmResult, SELF_SKIP( ( AREAP ) pArea, lToSkip ) == HB_SUCCESS );