ChangeLogTag:19991015-18:45 GMT+1 Bruno Cantero <bruno@issnet.net>

This commit is contained in:
Bruno Cantero
1999-10-15 16:57:37 +00:00
parent bcd863cc5d
commit 8f1e9b554a
3 changed files with 25 additions and 10 deletions

View File

@@ -1,3 +1,10 @@
19991015-18:45 GMT+1 Bruno Cantero <bruno@issnet.net>
* source/rdd/dbcmd.c
* Bug removed, default alias work if not alias and extension is specified.
* source/rdd/dbf1.c
* Bug removed, Bof() now work properly.
19991015-09:53 GMT+3 Alexander Kresin
* source/pp/hbpp.c
* Fixed little bug, reported by Antonio Linares

View File

@@ -1777,14 +1777,15 @@ HARBOUR HB_DBUNLOCKALL( void )
HARBOUR HB_DBUSEAREA( void )
{
char * szDriver, * szFileName, * szAlias;
char * szDriver, * szFileName;
LPRDDNODE pRddNode;
LPAREANODE pAreaNode;
USHORT uiSize, uiRddID, uiLen;
DBOPENINFO pInfo;
PHB_FNAME pFileName;
PHB_ITEM pFileExt;
char cDriverBuffer[ HARBOUR_MAX_RDD_DRIVERNAME_LENGTH ];
char szDriverBuffer[ HARBOUR_MAX_RDD_DRIVERNAME_LENGTH + 1 ];
char szAlias[ HARBOUR_MAX_RDD_ALIAS_LENGTH + 1];
bNetError = FALSE;
@@ -1814,8 +1815,10 @@ HARBOUR HB_DBUSEAREA( void )
uiLen = hb_parclen( 2 );
if( uiLen > 0 )
{
hb_strncpyUpper( cDriverBuffer, hb_parc( 2 ), uiLen );
szDriver = cDriverBuffer;
if( uiLen > HARBOUR_MAX_RDD_DRIVERNAME_LENGTH )
uiLen = HARBOUR_MAX_RDD_DRIVERNAME_LENGTH;
hb_strncpyUpper( szDriverBuffer, hb_parc( 2 ), uiLen );
szDriver = szDriverBuffer;
}
else
szDriver = szDefDriver;
@@ -1836,9 +1839,9 @@ HARBOUR HB_DBUSEAREA( void )
}
pFileName = hb_fsFNameSplit( szFileName );
szAlias = hb_parc( 4 );
strncpy( szAlias, hb_parc( 4 ), HARBOUR_MAX_RDD_ALIAS_LENGTH );
if( strlen( szAlias ) == 0 )
szAlias = pFileName->szName;
strncpy( szAlias, pFileName->szName, HARBOUR_MAX_RDD_ALIAS_LENGTH );
/* Create a new WorkArea node */

View File

@@ -1011,11 +1011,15 @@ static ERRCODE dbfGoTo( AREAP pArea, ULONG lRecNo )
if( lRecNo > lRecCount + 1 )
lRecNo = lRecCount + 1;
if( lRecNo == lRecCount + 1 )
pArea->fEof = 1;
if( lRecNo <= 0 )
{
pArea->fBof = 1;
lRecNo = 1;
}
else
pArea->fEof = 0;
pArea->fBof = ( lRecNo == 1 );
pArea->fBof = ( lRecNo == 1 && pArea->fBof );
pArea->fEof = ( lRecNo == lRecCount + 1 );
}
pArea->lpExtendInfo->lRecNo = lRecNo;
@@ -1051,6 +1055,7 @@ static ERRCODE dbfGoToId( AREAP pArea, PHB_ITEM pItem )
static ERRCODE dbfGoTop( AREAP pArea )
{
pArea->fBof = 0;
SELF_GOTO( pArea, 1 );
return SELF_SKIPFILTER( pArea, 1 );
}