diff --git a/harbour/ChangeLog b/harbour/ChangeLog index fce8300f0b..32223bd839 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,10 @@ 2002-12-01 13:30 UTC+0100 Foo Bar */ + * do not report error when empty structure table is passed to DBCREATE() + CL5.3 allow to create even DBF files without any fields and because + I can imagine some valid code which use it as a feature then I also + allow it in DBF RDD. Authors of RDDs which do not allow to create tables without fields should add to their low level RDD code necessary RT error. diff --git a/harbour/source/rdd/dbfntx/dbfntx1.c b/harbour/source/rdd/dbfntx/dbfntx1.c index 05bf102393..ef35f30c67 100644 --- a/harbour/source/rdd/dbfntx/dbfntx1.c +++ b/harbour/source/rdd/dbfntx/dbfntx1.c @@ -2877,7 +2877,6 @@ static BOOL hb_ntxTagKeyAdd( LPTAGINFO pTag, LPKEYINFO pKey ) return FALSE; } } - pTag->CurKeyInfo = hb_ntxKeyCopy( pTag->CurKeyInfo, pKey, pTag->KeyLength ); iLevel = pTag->stackLevel - 1; if( fBottom ) @@ -2898,6 +2897,8 @@ static BOOL hb_ntxTagKeyAdd( LPTAGINFO pTag, LPKEYINFO pKey ) } } + pTag->CurKeyInfo = hb_ntxKeyCopy( pTag->CurKeyInfo, pKey, pTag->KeyLength ); + while( iLevel >= 0 && pKey ) { if( pPage ) @@ -3159,7 +3160,7 @@ static BOOL hb_ntxCurKeyRefresh( LPTAGINFO pTag ) if( !pArea->fPositioned ) { pTag->stackLevel = 0; - pTag->TagEOF = TRUE; + pTag->TagBOF = pTag->TagEOF = TRUE; pTag->CurKeyInfo->Xtra = 0; return FALSE; } @@ -3199,6 +3200,7 @@ static BOOL hb_ntxCurKeyRefresh( LPTAGINFO pTag ) hb_ntxKeyFree( pKey ); return( pTag->CurKeyInfo->Xtra != 0 && pTag->CurKeyInfo->Xtra == pArea->ulRecNo ); } + pTag->TagBOF = pTag->TagEOF = FALSE; return TRUE; }