From 304bd8fca4a75f3906bfd7055b52547dc1f0b5ee Mon Sep 17 00:00:00 2001 From: Randy Portnoff Date: Mon, 21 Jun 2004 18:08:04 +0000 Subject: [PATCH] 2004-06-21 14:07 UTC-0500 Randy Portnoff * source/rdd/dbcmd.c * Fixed rddMoveRecords() so that copied records, which are deleted, maintain their deleted status. Reported by Marcos Gambeta --- harbour/source/rdd/dbcmd.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/harbour/source/rdd/dbcmd.c b/harbour/source/rdd/dbcmd.c index a7156408f9..ad440b261c 100644 --- a/harbour/source/rdd/dbcmd.c +++ b/harbour/source/rdd/dbcmd.c @@ -3932,6 +3932,7 @@ static ERRCODE rddMoveRecords( char *cAreaFrom, char *cAreaTo, PHB_ITEM pFields, LONG toGo=lNext; BOOL bFor, bWhile; BOOL keepGoing=TRUE; + BOOL bDeleted; AREAP pAreaFrom; AREAP pAreaTo; LPAREANODE pAreaRelease=NULL; @@ -4023,6 +4024,10 @@ static ERRCODE rddMoveRecords( char *cAreaFrom, char *cAreaTo, PHB_ITEM pFields, if ( cAreaFrom ) s_pCurrArea = pAreaRelease; rddMoveFields( pAreaFrom, pAreaTo, pFields, (cAreaFrom)?s_pCurrAreaSaved:NULL ); /*move the data*/ + bDeleted = FALSE; + SELF_DELETED( ( AREAP ) pAreaFrom, &bDeleted ); + if ( bDeleted ) + SELF_DELETE( ( AREAP ) pAreaTo ); } if ( lRec == 0 || pFor ) /*not only one record? Or there's a For clause?*/ keepGoing = TRUE; @@ -4101,4 +4106,4 @@ ERRCODE hb_rddGetTempAlias( char * szAliasTmp ) { return SUCCESS; } -} +} \ No newline at end of file