ChangeLogTag:Tue Oct 26 12:55:49 1999 Gonzalo A. Diethelm <Gonzalo.Diethelm@jda.cl>
This commit is contained in:
@@ -1,3 +1,10 @@
|
||||
Tue Oct 26 12:55:49 1999 Gonzalo A. Diethelm <Gonzalo.Diethelm@jda.cl>
|
||||
|
||||
* source/rdd/dbcmd.c:
|
||||
* source/rdd/dbf1.c:
|
||||
* source/rdd/dbfcdx/dbfcdx1.c:
|
||||
Added HB_TRACE() calls to the RDD library.
|
||||
|
||||
Tue Oct 26 12:15:01 1999 Gonzalo A. Diethelm <Gonzalo.Diethelm@jda.cl>
|
||||
|
||||
* source/vm/cmdarg.c:
|
||||
|
||||
@@ -149,6 +149,8 @@ static ERRCODE defAddField( AREAP pArea, LPDBFIELDINFO pFieldInfo )
|
||||
{
|
||||
LPFIELD pField;
|
||||
|
||||
HB_TRACE(("defAddField(%p, %p)", pArea, pFieldInfo));
|
||||
|
||||
pField = pArea->lpFields + pArea->uiFieldCount;
|
||||
if( pArea->uiFieldCount > 0 )
|
||||
{
|
||||
@@ -175,6 +177,8 @@ static ERRCODE defAddField( AREAP pArea, LPDBFIELDINFO pFieldInfo )
|
||||
|
||||
static ERRCODE defAlias( AREAP pArea, BYTE * szAlias )
|
||||
{
|
||||
HB_TRACE(("defAlias(%p, %p)", pArea, szAlias));
|
||||
|
||||
strncpy( ( char * ) szAlias,
|
||||
( ( PHB_DYNS ) pArea->atomAlias )->pSymbol->szName,
|
||||
HARBOUR_MAX_RDD_ALIAS_LENGTH );
|
||||
@@ -183,12 +187,16 @@ static ERRCODE defAlias( AREAP pArea, BYTE * szAlias )
|
||||
|
||||
static ERRCODE defBof( AREAP pArea, BOOL * pBof )
|
||||
{
|
||||
HB_TRACE(("defBof(%p, %p)", pArea, pBof));
|
||||
|
||||
* pBof = pArea->fBof;
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
static ERRCODE defClearFilter( AREAP pArea )
|
||||
{
|
||||
HB_TRACE(("defClearFilter(%p)", pArea));
|
||||
|
||||
if( pArea->dbfi.fFilter )
|
||||
{
|
||||
hb_itemRelease( pArea->dbfi.itmCobExpr );
|
||||
@@ -200,6 +208,8 @@ static ERRCODE defClearFilter( AREAP pArea )
|
||||
|
||||
static ERRCODE defClearLocate( AREAP pArea )
|
||||
{
|
||||
HB_TRACE(("defClearLocate(%p)", pArea));
|
||||
|
||||
if( pArea->dbsi.itmCobFor )
|
||||
{
|
||||
hb_itemRelease( pArea->dbsi.itmCobFor );
|
||||
@@ -240,6 +250,8 @@ static ERRCODE defClearLocate( AREAP pArea )
|
||||
|
||||
static ERRCODE defClose( AREAP pArea )
|
||||
{
|
||||
HB_TRACE(("defClose(%p)", pArea));
|
||||
|
||||
SELF_CLEARFILTER( pArea );
|
||||
SELF_CLEARLOCATE( pArea );
|
||||
( ( PHB_DYNS ) pArea->atomAlias )->hArea = 0;
|
||||
@@ -252,6 +264,8 @@ static ERRCODE defCreateFields( AREAP pArea, PHB_ITEM pStruct )
|
||||
PHB_ITEM pFieldDesc;
|
||||
DBFIELDINFO pFieldInfo;
|
||||
|
||||
HB_TRACE(("defCreateFields(%p, %p)", pArea, pStruct));
|
||||
|
||||
uiItems = hb_arrayLen( pStruct );
|
||||
SELF_SETFIELDEXTENT( pArea, uiItems );
|
||||
pFieldInfo.typeExtended = 0;
|
||||
@@ -269,6 +283,8 @@ static ERRCODE defCreateFields( AREAP pArea, PHB_ITEM pStruct )
|
||||
|
||||
static ERRCODE defEof( AREAP pArea, BOOL * pEof )
|
||||
{
|
||||
HB_TRACE(("defEof(%p, %p)", pArea, pEof));
|
||||
|
||||
* pEof = pArea->fEof;
|
||||
return SUCCESS;
|
||||
}
|
||||
@@ -277,6 +293,8 @@ static ERRCODE defError( AREAP pArea, PHB_ITEM pError )
|
||||
{
|
||||
char * szRddName;
|
||||
|
||||
HB_TRACE(("defError(%p, %p)", pArea, pError));
|
||||
|
||||
szRddName = ( char * ) hb_xgrab( HARBOUR_MAX_RDD_DRIVERNAME_LENGTH + 1 );
|
||||
SELF_SYSNAME( pArea, ( BYTE * ) szRddName );
|
||||
hb_errPutSeverity( pError, ES_ERROR );
|
||||
@@ -287,6 +305,8 @@ static ERRCODE defError( AREAP pArea, PHB_ITEM pError )
|
||||
|
||||
static ERRCODE defFieldCount( AREAP pArea, USHORT * uiFields )
|
||||
{
|
||||
HB_TRACE(("defFieldCount(%p, %p)", pArea, uiFields));
|
||||
|
||||
* uiFields = pArea->uiFieldCount;
|
||||
return SUCCESS;
|
||||
}
|
||||
@@ -296,6 +316,8 @@ static ERRCODE defFieldInfo( AREAP pArea, USHORT uiIndex, USHORT uiType, PHB_ITE
|
||||
LPFIELD pField;
|
||||
char szType[ 2 ];
|
||||
|
||||
HB_TRACE(("defFieldInfo(%p, %hu, %hu, %p)", pArea, uiIndex, uiType, pItem));
|
||||
|
||||
if( uiIndex > pArea->uiFieldCount )
|
||||
return FAILURE;
|
||||
|
||||
@@ -332,6 +354,8 @@ static ERRCODE defFieldName( AREAP pArea, USHORT uiIndex, void * szName )
|
||||
{
|
||||
LPFIELD pField;
|
||||
|
||||
HB_TRACE(("defFieldName(%p, %hu, %p)", pArea, uiIndex, szName));
|
||||
|
||||
if( uiIndex > pArea->uiFieldCount )
|
||||
return FAILURE;
|
||||
|
||||
@@ -343,6 +367,8 @@ static ERRCODE defFieldName( AREAP pArea, USHORT uiIndex, void * szName )
|
||||
|
||||
static ERRCODE defFilterText( AREAP pArea, PHB_ITEM pFilter )
|
||||
{
|
||||
HB_TRACE(("defFilterText(%p, %p)", pArea, pFilter));
|
||||
|
||||
if( pArea->dbfi.fFilter )
|
||||
hb_itemCopy( pFilter, pArea->dbfi.abFilterText );
|
||||
return SUCCESS;
|
||||
@@ -350,18 +376,24 @@ static ERRCODE defFilterText( AREAP pArea, PHB_ITEM pFilter )
|
||||
|
||||
static ERRCODE defFound( AREAP pArea, BOOL * pFound )
|
||||
{
|
||||
HB_TRACE(("defFound(%p, %p)", pArea, pFound));
|
||||
|
||||
* pFound = pArea->fFound;
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
static ERRCODE defGetRec( AREAP pArea, BYTE ** pBuffer )
|
||||
{
|
||||
HB_TRACE(("defGetRec(%p, %p)", pArea, pBuffer));
|
||||
|
||||
* pBuffer = pArea->lpExtendInfo->bRecord;
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
static ERRCODE defNewArea( AREAP pArea )
|
||||
{
|
||||
HB_TRACE(("defNewArea(%p)", pArea));
|
||||
|
||||
pArea->lpFileInfo = ( LPFILEINFO ) hb_xgrab( sizeof( FILEINFO ) );
|
||||
memset( pArea->lpFileInfo, 0, sizeof( FILEINFO ) );
|
||||
pArea->lpFileInfo->hFile = FS_ERROR;
|
||||
@@ -372,6 +404,8 @@ static ERRCODE defNewArea( AREAP pArea )
|
||||
|
||||
static ERRCODE defOpen( AREAP pArea, LPDBOPENINFO pOpenInfo )
|
||||
{
|
||||
HB_TRACE(("defOpen(%p, %p)", pArea, pOpenInfo));
|
||||
|
||||
pArea->atomAlias = hb_dynsymGet( ( char * ) pOpenInfo->atomAlias );
|
||||
if( ( ( PHB_DYNS ) pArea->atomAlias )->hArea )
|
||||
{
|
||||
@@ -390,6 +424,8 @@ static ERRCODE defRelease( AREAP pArea )
|
||||
{
|
||||
LPFILEINFO pFileInfo;
|
||||
|
||||
HB_TRACE(("defRelease(%p)", pArea));
|
||||
|
||||
if( pArea->lpFields )
|
||||
{
|
||||
hb_xfree( pArea->lpFields );
|
||||
@@ -417,6 +453,8 @@ static ERRCODE defRelease( AREAP pArea )
|
||||
|
||||
static ERRCODE defSetFieldExtent( AREAP pArea, USHORT uiFieldExtent )
|
||||
{
|
||||
HB_TRACE(("defSetFieldExtent(%p, %hu)", pArea, uiFieldExtent));
|
||||
|
||||
pArea->uiFieldExtent = uiFieldExtent;
|
||||
pArea->lpFields = ( LPFIELD ) hb_xgrab( uiFieldExtent * sizeof( FIELD ) );
|
||||
memset( pArea->lpFields, 0, uiFieldExtent * sizeof( FIELD ) );
|
||||
@@ -425,6 +463,8 @@ static ERRCODE defSetFieldExtent( AREAP pArea, USHORT uiFieldExtent )
|
||||
|
||||
static ERRCODE defSetFilter( AREAP pArea, LPDBFILTERINFO pFilterInfo )
|
||||
{
|
||||
HB_TRACE(("defSetFilter(%p, %p)", pArea, pFilterInfo));
|
||||
|
||||
if( pArea->dbfi.fFilter )
|
||||
{
|
||||
hb_itemCopy( pArea->dbfi.itmCobExpr, pFilterInfo->itmCobExpr );
|
||||
@@ -443,6 +483,8 @@ static ERRCODE defSetFilter( AREAP pArea, LPDBFILTERINFO pFilterInfo )
|
||||
|
||||
static ERRCODE defSetLocate( AREAP pArea, LPDBSCOPEINFO pScopeInfo )
|
||||
{
|
||||
HB_TRACE(("defSetLocate(%p, %p)", pArea, pScopeInfo));
|
||||
|
||||
if( pArea->dbsi.itmCobFor )
|
||||
hb_itemRelease( pArea->dbsi.itmCobFor );
|
||||
pArea->dbsi.itmCobFor = pScopeInfo->itmCobFor;
|
||||
@@ -465,6 +507,8 @@ static ERRCODE defSkip( AREAP pArea, LONG lToSkip )
|
||||
{
|
||||
BOOL bExit;
|
||||
|
||||
HB_TRACE(("defSkip(%p, %ld)", pArea, lToSkip));
|
||||
|
||||
if( pArea->dbfi.fFilter || hb_set.HB_SET_DELETED )
|
||||
{
|
||||
if( lToSkip > 0 )
|
||||
@@ -512,6 +556,8 @@ static ERRCODE defSkipFilter( AREAP pArea, LONG lUpDown )
|
||||
{
|
||||
BOOL bExit, bDeleted;
|
||||
|
||||
HB_TRACE(("defSkipFilter(%p, %ld)", pArea, lUpDown));
|
||||
|
||||
if( lUpDown > 0 )
|
||||
{
|
||||
while( 1 )
|
||||
@@ -587,11 +633,15 @@ static ERRCODE defSkipFilter( AREAP pArea, LONG lUpDown )
|
||||
|
||||
static ERRCODE defSkipRaw( AREAP pArea, LONG lToSkip )
|
||||
{
|
||||
HB_TRACE(("defSkipRaw(%p, %ld)", pArea, lToSkip));
|
||||
|
||||
return SELF_GOTO( pArea, pArea->lpExtendInfo->lRecNo + lToSkip );
|
||||
}
|
||||
|
||||
static ERRCODE defStructSize( AREAP pArea, USHORT * uiSize )
|
||||
{
|
||||
HB_TRACE(("defStrucSize(%p, %p)", pArea, uiSize));
|
||||
|
||||
HB_SYMBOL_UNUSED( pArea );
|
||||
HB_SYMBOL_UNUSED( uiSize );
|
||||
|
||||
@@ -603,6 +653,8 @@ static ERRCODE defSysName( AREAP pArea, BYTE * pBuffer )
|
||||
USHORT uiCount;
|
||||
LPRDDNODE pRddNode;
|
||||
|
||||
HB_TRACE(("defSysName(%p, %p)", pArea, pBuffer));
|
||||
|
||||
pRddNode = pRddList;
|
||||
for( uiCount = 0; uiCount < pArea->rddID; uiCount++ )
|
||||
pRddNode = pRddNode->pNext;
|
||||
@@ -614,6 +666,8 @@ static ERRCODE defUnSupported( AREAP pArea )
|
||||
{
|
||||
PHB_ITEM pError;
|
||||
|
||||
HB_TRACE(("defUnSupported(%p)", pArea));
|
||||
|
||||
HB_SYMBOL_UNUSED( pArea );
|
||||
|
||||
pError = hb_errNew();
|
||||
@@ -688,6 +742,8 @@ static RDDFUNCS defTable = { defBof,
|
||||
|
||||
static void hb_rddCheck( void )
|
||||
{
|
||||
HB_TRACE(("hb_rddCheck()"));
|
||||
|
||||
if( !szDefDriver )
|
||||
{
|
||||
szDefDriver = ( char * ) hb_xgrab( 1 );
|
||||
@@ -703,6 +759,8 @@ static void hb_rddCheck( void )
|
||||
|
||||
static void hb_rddCloseAll( void )
|
||||
{
|
||||
HB_TRACE(("hb_rddCloseAll()"));
|
||||
|
||||
pCurrArea = pWorkAreas;
|
||||
while( pWorkAreas )
|
||||
{
|
||||
@@ -723,6 +781,8 @@ static LPRDDNODE hb_rddFindNode( char * szDriver, USHORT * uiIndex )
|
||||
LPRDDNODE pRddNode;
|
||||
USHORT uiCount;
|
||||
|
||||
HB_TRACE(("hb_rddFindNode(%s, %p)", szDriver, uiIndex));
|
||||
|
||||
uiCount = 0;
|
||||
pRddNode = pRddList;
|
||||
while( pRddNode )
|
||||
@@ -748,6 +808,8 @@ static int hb_rddRegister( char * szDriver, USHORT uiType )
|
||||
char * szGetFuncTable;
|
||||
USHORT uiFunctions;
|
||||
|
||||
HB_TRACE(("hb_rddRegister(%s, %hu)", szDriver, uiType));
|
||||
|
||||
if( hb_rddFindNode( szDriver, 0 ) ) /* Duplicated RDD */
|
||||
return 1;
|
||||
|
||||
@@ -795,6 +857,8 @@ static USHORT hb_rddSelect( char * szAlias )
|
||||
{
|
||||
PHB_DYNS pSymAlias;
|
||||
|
||||
HB_TRACE(("hb_rddSelect(%s)", szAlias));
|
||||
|
||||
pSymAlias = hb_dynsymFindName( szAlias );
|
||||
if( pSymAlias && pSymAlias->hArea )
|
||||
return pSymAlias->hArea;
|
||||
@@ -806,6 +870,8 @@ static void hb_rddSelectFirstAvailable( void )
|
||||
{
|
||||
LPAREANODE pAreaNode;
|
||||
|
||||
HB_TRACE(("hb_rddSelectFirstAvailable()"));
|
||||
|
||||
uiCurrArea = 1;
|
||||
pAreaNode = pWorkAreas;
|
||||
while( pAreaNode )
|
||||
@@ -826,6 +892,8 @@ ERRCODE hb_rddInherit( PRDDFUNCS pTable, PRDDFUNCS pSubTable, PRDDFUNCS pSuperTa
|
||||
USHORT uiCount;
|
||||
DBENTRYP_V * pFunction, * pSubFunction;
|
||||
|
||||
HB_TRACE(("hb_rddInherit(%p, %p, %p, %s)", pTable, pSubTable, pSuperTable, szDrvName));
|
||||
|
||||
if( !pTable )
|
||||
return FAILURE;
|
||||
|
||||
@@ -868,6 +936,8 @@ ERRCODE hb_rddInherit( PRDDFUNCS pTable, PRDDFUNCS pSubTable, PRDDFUNCS pSuperTa
|
||||
|
||||
int hb_rddGetCurrentWorkAreaNumber( void )
|
||||
{
|
||||
HB_TRACE(("hb_rddGetCurrentWorkAreaNumber()"));
|
||||
|
||||
return uiCurrArea;
|
||||
}
|
||||
|
||||
@@ -875,6 +945,8 @@ ERRCODE hb_rddSelectWorkAreaNumber( int iArea )
|
||||
{
|
||||
LPAREANODE pAreaNode;
|
||||
|
||||
HB_TRACE(("hb_rddSelectWorkAreaNumber(%d)", iArea));
|
||||
|
||||
uiCurrArea = iArea;
|
||||
|
||||
pAreaNode = pWorkAreas;
|
||||
@@ -895,6 +967,8 @@ ERRCODE hb_rddSelectWorkAreaSymbol( PHB_SYMB pSymAlias )
|
||||
{
|
||||
ERRCODE bResult;
|
||||
|
||||
HB_TRACE(("hb_rddSelectWorkAreaSymbol(%p)", pSymAlias));
|
||||
|
||||
if( pSymAlias->pDynSym->hArea )
|
||||
bResult = hb_rddSelectWorkAreaNumber( pSymAlias->pDynSym->hArea );
|
||||
else
|
||||
@@ -934,8 +1008,11 @@ ERRCODE hb_rddSelectWorkAreaSymbol( PHB_SYMB pSymAlias )
|
||||
ERRCODE hb_rddSelectWorkAreaAlias( char * szName )
|
||||
{
|
||||
ERRCODE bResult;
|
||||
ULONG ulLen = strlen( szName );
|
||||
ULONG ulLen;
|
||||
|
||||
HB_TRACE(("hb_rddSelectWorkAreaAlias(%s)", szName));
|
||||
|
||||
ulLen = strlen( szName );
|
||||
if( ulLen >= 1 && toupper( szName[ 0 ] ) > '0' && toupper( szName[ 0 ] ) <= '9' )
|
||||
bResult = hb_rddSelectWorkAreaNumber( atoi( szName ) );
|
||||
else if( ulLen == 1 && toupper( szName[ 0 ] ) >= 'A' && toupper( szName[ 0 ] ) <= 'K' )
|
||||
@@ -981,8 +1058,11 @@ ERRCODE hb_rddSelectWorkAreaAlias( char * szName )
|
||||
|
||||
ERRCODE hb_rddGetFieldValue( HB_ITEM_PTR pItem, PHB_SYMB pFieldSymbol )
|
||||
{
|
||||
ERRCODE bSuccess = hb_rddFieldGet( pItem, pFieldSymbol );
|
||||
ERRCODE bSuccess;
|
||||
|
||||
HB_TRACE(("hb_rddGetFieldValue(%p, %p)", pItem, pFieldSymbol));
|
||||
|
||||
bSuccess = hb_rddFieldGet( pItem, pFieldSymbol );
|
||||
if( bSuccess == FAILURE )
|
||||
{
|
||||
/* generate an error with retry possibility
|
||||
@@ -1011,8 +1091,11 @@ ERRCODE hb_rddGetFieldValue( HB_ITEM_PTR pItem, PHB_SYMB pFieldSymbol )
|
||||
|
||||
ERRCODE hb_rddPutFieldValue( HB_ITEM_PTR pItem, PHB_SYMB pFieldSymbol )
|
||||
{
|
||||
ERRCODE bSuccess = hb_rddFieldPut( pItem, pFieldSymbol );
|
||||
ERRCODE bSuccess;
|
||||
|
||||
HB_TRACE(("hb_rddPutFieldValue(%p, %p)", pItem, pFieldSymbol));
|
||||
|
||||
bSuccess = hb_rddFieldPut( pItem, pFieldSymbol );
|
||||
if( bSuccess == FAILURE )
|
||||
{
|
||||
/* generate an error with retry possibility
|
||||
@@ -1044,6 +1127,8 @@ ERRCODE hb_rddFieldPut( HB_ITEM_PTR pItem, PHB_SYMB pFieldSymbol )
|
||||
LPFIELD pField;
|
||||
USHORT uiField;
|
||||
|
||||
HB_TRACE(("hb_rddFieldPut(%p, %p)", pItem, pFieldSymbol));
|
||||
|
||||
if( pCurrArea )
|
||||
{
|
||||
uiField = 1;
|
||||
@@ -1067,6 +1152,8 @@ ERRCODE hb_rddFieldGet( HB_ITEM_PTR pItem, PHB_SYMB pFieldSymbol )
|
||||
LPFIELD pField;
|
||||
USHORT uiField;
|
||||
|
||||
HB_TRACE(("hb_rddFieldGet(%p, %p)", pItem, pFieldSymbol));
|
||||
|
||||
if( pCurrArea )
|
||||
{
|
||||
uiField = 1;
|
||||
@@ -1089,6 +1176,8 @@ void hb_rddShutDown( void )
|
||||
{
|
||||
LPRDDNODE pRddNode;
|
||||
|
||||
HB_TRACE(("hb_rddShutDown()"));
|
||||
|
||||
hb_rddCloseAll();
|
||||
if( szDefDriver )
|
||||
hb_xfree( szDefDriver );
|
||||
|
||||
@@ -117,6 +117,8 @@ static BOOL hb_nltoa( LONG lValue, char * szBuffer, USHORT uiLen )
|
||||
LONG lAbsNumber;
|
||||
int iCount, iPos;
|
||||
|
||||
HB_TRACE(("hb_nltoa(%ld, %p, %hu)", lValue, szBuffer, uiLen));
|
||||
|
||||
lAbsNumber = ( lValue > 0 ) ? lValue : - lValue;
|
||||
iCount = iPos = uiLen;
|
||||
while( iCount-- > 0 )
|
||||
@@ -163,6 +165,8 @@ static BOOL hb_ndtoa( double dValue, char * szBuffer, USHORT uiLen, USHORT uiDec
|
||||
int iCount;
|
||||
char szEndChar;
|
||||
|
||||
HB_TRACE(("hb_ndtoa(%lf, %p, %hu, %hu)", dValue, szBuffer, uiLen, uiDec));
|
||||
|
||||
if( uiLen > 19 )
|
||||
uiLen = 19;
|
||||
if( uiDec + 2 > uiLen )
|
||||
@@ -191,6 +195,8 @@ static BOOL hb_dbfUpdateHeader( AREAP pArea, ULONG lRecCount )
|
||||
time_t t;
|
||||
struct tm * pTime;
|
||||
|
||||
HB_TRACE(("hb_dbfUpdateHeader(%p, %lu)", pArea, lRecCount));
|
||||
|
||||
hb_fsSeek( pArea->lpFileInfo->hFile, 0, FS_SET );
|
||||
if( hb_fsRead( pArea->lpFileInfo->hFile, ( BYTE * ) &pHeader,
|
||||
sizeof( DBFHEADER ) ) != sizeof( DBFHEADER ) )
|
||||
@@ -220,6 +226,8 @@ static BOOL hb_dbfWriteMemo( AREAP pArea, LPDBFMEMO pMemo, ULONG * lNewRecNo )
|
||||
BYTE szBuffer[ MEMO_BLOCK ];
|
||||
MEMOHEADER pMemoHeader;
|
||||
|
||||
HB_TRACE(("hb_dbfWriteMemo(%p, %p, %p)", pArea, pMemo, lNewRecNo));
|
||||
|
||||
if( !pArea->lpExtendInfo->fExclusive && !pArea->lpFileInfo->fFileLocked &&
|
||||
!hb_fsLock( pArea->lpFileInfo->pNext->hFile, LOCK_APPEND - 1, 1, FL_LOCK ) )
|
||||
return FALSE;
|
||||
@@ -287,6 +295,8 @@ static BOOL hb_dbfUpdateRecord( AREAP pArea, ULONG lRecNo )
|
||||
USHORT uiCount;
|
||||
LPFIELD pField;
|
||||
|
||||
HB_TRACE(("hb_dbfUpdateRecord(%p, %lu)", pArea, lRecNo));
|
||||
|
||||
if( SELF_RECCOUNT( pArea, &lRecCount ) == FAILURE )
|
||||
return FALSE;
|
||||
|
||||
@@ -319,6 +329,8 @@ static void hb_dbfClearBuffer( AREAP pArea )
|
||||
LPFIELD pField;
|
||||
USHORT uiCount;
|
||||
|
||||
HB_TRACE(("hb_dbfClearBuffer(%p)", pArea));
|
||||
|
||||
memset( pArea->lpExtendInfo->bRecord, ' ', pArea->lpExtendInfo->uiRecordLen );
|
||||
|
||||
if( pArea->lpExtendInfo->fHasMemo )
|
||||
@@ -343,6 +355,8 @@ static void hb_dbfReadMemo( AREAP pArea, LPDBFMEMO pMemo, ULONG lMemoBlock )
|
||||
USHORT uiBytesRead, uiMaxRead, uiRead;
|
||||
BYTE * pData;
|
||||
|
||||
HB_TRACE(("hb_dbfReadMemo(%p, %p, %lu)", pArea, pMemo, lMemoBlock));
|
||||
|
||||
hb_fsSeek( pArea->lpFileInfo->pNext->hFile, lMemoBlock, FS_SET );
|
||||
uiBytesRead = 0;
|
||||
uiMaxRead = pMemo->uiLen;
|
||||
@@ -392,6 +406,8 @@ static ERRCODE hb_dbfReadBuffer( AREAP pArea, ULONG lRecNo )
|
||||
LPFIELD pField;
|
||||
USHORT uiCount;
|
||||
|
||||
HB_TRACE(("hb_dbfReadBuffer(%p, %lu)", pArea, lRecNo));
|
||||
|
||||
if( SELF_GOCOLD( pArea ) == FAILURE )
|
||||
return FAILURE;
|
||||
|
||||
@@ -424,6 +440,8 @@ static BOOL hb_dbfIsLocked( AREAP pArea, ULONG lLockPos )
|
||||
{
|
||||
ULONG lNumLocksPos;
|
||||
|
||||
HB_TRACE(("hb_dbfIsLocked(%p, %lu)", pArea, lLockPos));
|
||||
|
||||
lNumLocksPos = pArea->lpFileInfo->lNumLocksPos;
|
||||
while( lNumLocksPos > 0 )
|
||||
{
|
||||
@@ -439,6 +457,8 @@ static BOOL hb_dbfLockRecord( AREAP pArea, ULONG lRecNum )
|
||||
{
|
||||
LPFILEINFO pFileInfo;
|
||||
|
||||
HB_TRACE(("hb_dbfLockRecord(%p, %lu)", pArea, lRecNum));
|
||||
|
||||
if( pArea->lpExtendInfo->fExclusive || pArea->lpFileInfo->fFileLocked )
|
||||
return TRUE;
|
||||
|
||||
@@ -474,6 +494,8 @@ static BOOL hb_dbfUnLockRecord( AREAP pArea, ULONG lRecNum )
|
||||
LPFILEINFO pFileInfo;
|
||||
ULONG lLockPos, * pList;
|
||||
|
||||
HB_TRACE(("hb_dbfUnLockRecord(%p, %lu)", pArea, lRecNum));
|
||||
|
||||
if( pArea->lpExtendInfo->fExclusive || pArea->lpFileInfo->fFileLocked )
|
||||
return TRUE;
|
||||
|
||||
@@ -521,6 +543,8 @@ static BOOL hb_dbfUnLockAllRecords( AREAP pArea )
|
||||
ULONG lPosLocked;
|
||||
BOOL bUnLocked = TRUE;
|
||||
|
||||
HB_TRACE(("hb_dbfUnLockAllRecords(%p)", pArea));
|
||||
|
||||
if( SELF_GOCOLD( pArea ) == FAILURE )
|
||||
return FALSE;
|
||||
|
||||
@@ -545,6 +569,8 @@ static BOOL hb_dbfUnLockAllRecords( AREAP pArea )
|
||||
|
||||
static BOOL hb_dbfLockFile( AREAP pArea )
|
||||
{
|
||||
HB_TRACE(("hb_dbfLockFile(%p)", pArea));
|
||||
|
||||
if( pArea->lpExtendInfo->fExclusive || pArea->lpFileInfo->fFileLocked )
|
||||
return TRUE;
|
||||
|
||||
@@ -556,6 +582,8 @@ static BOOL hb_dbfLockFile( AREAP pArea )
|
||||
|
||||
static BOOL hb_dbfUnLockFile( AREAP pArea )
|
||||
{
|
||||
HB_TRACE(("hb_dbfUnLockFile(%p)", pArea));
|
||||
|
||||
if( SELF_GOCOLD( pArea ) == FAILURE )
|
||||
return FALSE;
|
||||
|
||||
@@ -576,6 +604,8 @@ static void hb_dbfGetLockArray( AREAP pArea, PHB_ITEM pItem )
|
||||
{
|
||||
ULONG lLockPos;
|
||||
|
||||
HB_TRACE(("hb_GetLockArray(%p, %p)", pArea, pItem));
|
||||
|
||||
for( lLockPos = 1; lLockPos <= pArea->lpFileInfo->lNumLocksPos; lLockPos++ )
|
||||
hb_arrayAdd( pItem,
|
||||
hb_itemPutNL( NULL, pArea->lpFileInfo->pLocksPos[ lLockPos - 1 ] ) );
|
||||
@@ -617,6 +647,8 @@ static ERRCODE dbfAddField( AREAP pArea, LPDBFIELDINFO pFieldInfo )
|
||||
{
|
||||
LPFIELD pField;
|
||||
|
||||
HB_TRACE(("dbfAddField(%p, %p)", pArea, pFieldInfo));
|
||||
|
||||
if( SUPER_ADDFIELD( pArea, pFieldInfo ) == SUCCESS )
|
||||
{
|
||||
if( pArea->lpExtendInfo->fHasMemo )
|
||||
@@ -635,6 +667,8 @@ static ERRCODE dbfAppend( AREAP pArea, BOOL bUnLockAll )
|
||||
ULONG lRecCount, lRecNo;
|
||||
PHB_ITEM pError;
|
||||
|
||||
HB_TRACE(("dbfAppend(%p, %d)", pArea, (int) bUnLockAll));
|
||||
|
||||
if( SELF_GOCOLD( pArea ) == FAILURE )
|
||||
return FAILURE;
|
||||
|
||||
@@ -691,6 +725,8 @@ static ERRCODE dbfAppend( AREAP pArea, BOOL bUnLockAll )
|
||||
|
||||
static ERRCODE dbfClose( AREAP pArea )
|
||||
{
|
||||
HB_TRACE(("dbfClose(%p)", pArea));
|
||||
|
||||
if( pArea->lpFileInfo->hFile != FS_ERROR )
|
||||
{
|
||||
SELF_GOCOLD( pArea );
|
||||
@@ -707,6 +743,8 @@ static ERRCODE dbfClose( AREAP pArea )
|
||||
|
||||
static ERRCODE dbfCloseMemFile( AREAP pArea )
|
||||
{
|
||||
HB_TRACE(("dbfCloseMemFile(%p)", pArea));
|
||||
|
||||
if( pArea->lpFileInfo->pNext->hFile != FS_ERROR )
|
||||
{
|
||||
SELF_FLUSH( pArea );
|
||||
@@ -722,6 +760,8 @@ static ERRCODE dbfCreate( AREAP pArea, LPDBOPENINFO pCreateInfo )
|
||||
PHB_ITEM pError = NULL;
|
||||
BOOL bRetry;
|
||||
|
||||
HB_TRACE(("dbfCreate(%p, %p)", pArea, pCreateInfo));
|
||||
|
||||
do
|
||||
{
|
||||
pArea->lpFileInfo->hFile = hb_fsCreate( pCreateInfo->abName, FC_NORMAL );
|
||||
@@ -767,6 +807,8 @@ static ERRCODE dbfCreateMemFile( AREAP pArea, LPDBOPENINFO pCreateInfo )
|
||||
PHB_ITEM pError = NULL;
|
||||
BYTE * pBuffer;
|
||||
|
||||
HB_TRACE(("dbfCreateMemFile(%p, %p)", pArea, pCreateInfo));
|
||||
|
||||
lpMemInfo = pArea->lpFileInfo->pNext;
|
||||
do
|
||||
{
|
||||
@@ -811,6 +853,8 @@ static ERRCODE dbfCreateMemFile( AREAP pArea, LPDBOPENINFO pCreateInfo )
|
||||
|
||||
static ERRCODE dbfDeleted( AREAP pArea, BOOL * pDeleted )
|
||||
{
|
||||
HB_TRACE(("dbfDeleted(%p, %p)", pArea, pDeleted));
|
||||
|
||||
* pDeleted = ( pArea->lpExtendInfo->bRecord[ 0 ] == '*' );
|
||||
|
||||
return SUCCESS;
|
||||
@@ -818,6 +862,8 @@ static ERRCODE dbfDeleted( AREAP pArea, BOOL * pDeleted )
|
||||
|
||||
static ERRCODE dbfDeleteRec( AREAP pArea )
|
||||
{
|
||||
HB_TRACE(("dbfDeleteRec(%p)", pArea));
|
||||
|
||||
if( SELF_GOHOT( pArea ) == FAILURE )
|
||||
return FAILURE;
|
||||
|
||||
@@ -833,6 +879,8 @@ static ERRCODE dbfDeleteRec( AREAP pArea )
|
||||
|
||||
static ERRCODE dbfFlush( AREAP pArea )
|
||||
{
|
||||
HB_TRACE(("dbfFlush(%p)", pArea));
|
||||
|
||||
if( SELF_GOCOLD( pArea ) == FAILURE )
|
||||
return FAILURE;
|
||||
|
||||
@@ -848,6 +896,8 @@ static ERRCODE dbfGetValue( AREAP pArea, USHORT uiIndex, PHB_ITEM pItem )
|
||||
LPFIELD pField;
|
||||
BYTE * szText, szEndChar;
|
||||
|
||||
HB_TRACE(("dbfGetValue(%p, %hu, %p)", pArea, uiIndex, pItem));
|
||||
|
||||
if( uiIndex > pArea->uiFieldCount )
|
||||
return FAILURE;
|
||||
|
||||
@@ -901,6 +951,8 @@ static ERRCODE dbfGetValueFile( AREAP pArea, USHORT uiIndex, void * pFile )
|
||||
BYTE * szText, szEndChar;
|
||||
LPFIELD pField;
|
||||
|
||||
HB_TRACE(("dbfGetValueFile(%p, %hu, %p)", pArea, uiIndex, pFile));
|
||||
|
||||
if( uiIndex > pArea->uiFieldCount )
|
||||
return FAILURE;
|
||||
|
||||
@@ -928,6 +980,8 @@ static ERRCODE dbfGetVarLen( AREAP pArea, USHORT uiIndex, ULONG * ulLen )
|
||||
{
|
||||
LPFIELD pField;
|
||||
|
||||
HB_TRACE(("dbfGetVarLen(%p, %hu, %p)", pArea, uiIndex, ulLen));
|
||||
|
||||
if( uiIndex > pArea->uiFieldCount )
|
||||
return FAILURE;
|
||||
|
||||
@@ -943,6 +997,8 @@ static ERRCODE dbfGoBottom( AREAP pArea )
|
||||
{
|
||||
ULONG lRecCount;
|
||||
|
||||
HB_TRACE(("dbfGoBottom(%p)", pArea));
|
||||
|
||||
if( SELF_RECCOUNT( pArea, &lRecCount ) == FAILURE )
|
||||
return FAILURE;
|
||||
|
||||
@@ -952,6 +1008,8 @@ static ERRCODE dbfGoBottom( AREAP pArea )
|
||||
|
||||
static ERRCODE dbfGoCold( AREAP pArea )
|
||||
{
|
||||
HB_TRACE(("dbfGoCold(%p)", pArea));
|
||||
|
||||
if( pArea->lpExtendInfo->fRecordChanged &&
|
||||
!hb_dbfUpdateRecord( pArea, pArea->lpExtendInfo->lRecNo ) )
|
||||
return FAILURE;
|
||||
@@ -965,6 +1023,8 @@ static ERRCODE dbfGoHot( AREAP pArea )
|
||||
{
|
||||
PHB_ITEM pError;
|
||||
|
||||
HB_TRACE(("dbfGoHot(%p)", pArea));
|
||||
|
||||
if( !pArea->lpExtendInfo->fExclusive && !pArea->lpFileInfo->fFileLocked &&
|
||||
!hb_dbfIsLocked( pArea, pArea->lpExtendInfo->lRecNo ) )
|
||||
{
|
||||
@@ -995,6 +1055,8 @@ static ERRCODE dbfGoTo( AREAP pArea, ULONG lRecNo )
|
||||
{
|
||||
ULONG lRecCount;
|
||||
|
||||
HB_TRACE(("dbfGoTo(%p, %lu)", pArea, lRecNo));
|
||||
|
||||
if( SELF_GOCOLD( pArea ) == FAILURE )
|
||||
return FAILURE;
|
||||
|
||||
@@ -1038,6 +1100,8 @@ static ERRCODE dbfGoToId( AREAP pArea, PHB_ITEM pItem )
|
||||
PHB_ITEM pError;
|
||||
ULONG lRecNo;
|
||||
|
||||
HB_TRACE(("dbfGoToId(%p, %p)", pArea, pItem));
|
||||
|
||||
if( pItem->type & IT_NUMERIC )
|
||||
{
|
||||
lRecNo = hb_itemGetNL( pItem );
|
||||
@@ -1059,6 +1123,8 @@ static ERRCODE dbfGoToId( AREAP pArea, PHB_ITEM pItem )
|
||||
|
||||
static ERRCODE dbfGoTop( AREAP pArea )
|
||||
{
|
||||
HB_TRACE(("dbfGoTop(%p)", pArea));
|
||||
|
||||
pArea->fBof = 0;
|
||||
SELF_GOTO( pArea, 1 );
|
||||
return SELF_SKIPFILTER( pArea, 1 );
|
||||
@@ -1066,6 +1132,8 @@ static ERRCODE dbfGoTop( AREAP pArea )
|
||||
|
||||
static ERRCODE dbfInfo( AREAP pArea, USHORT uiIndex, PHB_ITEM pItem )
|
||||
{
|
||||
HB_TRACE(("dbfInfo(%p, %hu, %p)", pArea, uiIndex, pItem));
|
||||
|
||||
switch( uiIndex )
|
||||
{
|
||||
case DBI_DBFILTER:
|
||||
@@ -1110,6 +1178,8 @@ static ERRCODE dbfInfo( AREAP pArea, USHORT uiIndex, PHB_ITEM pItem )
|
||||
|
||||
static ERRCODE dbfLock( AREAP pArea, LPDBLOCKINFO pLockInfo )
|
||||
{
|
||||
HB_TRACE(("dbfLock(%p, %p)", pArea, pLockInfo));
|
||||
|
||||
if( pLockInfo->itmRecID == 0 )
|
||||
{
|
||||
hb_dbfUnLockAllRecords( pArea );
|
||||
@@ -1134,6 +1204,8 @@ static ERRCODE dbfOpen( AREAP pArea, LPDBOPENINFO pOpenInfo )
|
||||
PHB_ITEM pError = NULL;
|
||||
BOOL bRetry;
|
||||
|
||||
HB_TRACE(("dbfOpen(%p, %p)", pArea, pOpenInfo));
|
||||
|
||||
if( SUPER_OPEN( pArea, pOpenInfo ) == FAILURE )
|
||||
return FAILURE;
|
||||
|
||||
@@ -1210,6 +1282,8 @@ static ERRCODE dbfOpenMemFile( AREAP pArea, LPDBOPENINFO pOpenInfo )
|
||||
PHB_ITEM pError = NULL;
|
||||
BOOL bRetry;
|
||||
|
||||
HB_TRACE(("dbfOpenMemFile(%p, %p)", pArea, pOpenInfo));
|
||||
|
||||
lpMemInfo = pArea->lpFileInfo->pNext;
|
||||
uiFlags = pOpenInfo->fReadonly ? FO_READ : FO_READWRITE;
|
||||
uiFlags |= pOpenInfo->fShared ? FO_DENYNONE : FO_EXCLUSIVE;
|
||||
@@ -1252,6 +1326,8 @@ static ERRCODE dbfOpenMemFile( AREAP pArea, LPDBOPENINFO pOpenInfo )
|
||||
|
||||
static ERRCODE dbfPutRec( AREAP pArea, BYTE * pBuffer )
|
||||
{
|
||||
HB_TRACE(("dbfPutRec(%p, %p)", pArea, pBuffer));
|
||||
|
||||
if( SELF_GOHOT( pArea ) == FAILURE )
|
||||
return FAILURE;
|
||||
|
||||
@@ -1268,6 +1344,8 @@ static ERRCODE dbfPutValue( AREAP pArea, USHORT uiIndex, PHB_ITEM pItem )
|
||||
long lDay, lMonth, lYear;
|
||||
PHB_ITEM pError;
|
||||
|
||||
HB_TRACE(("dbfPutValue(%p, %hu, %p)", pArea, uiIndex, pItem));
|
||||
|
||||
if( uiIndex > pArea->uiFieldCount )
|
||||
return FAILURE;
|
||||
|
||||
@@ -1390,6 +1468,8 @@ static ERRCODE dbfPutValueFile( AREAP pArea, USHORT uiIndex, void * pFile )
|
||||
BYTE * szText, szEndChar;
|
||||
ULONG lMemoBlock;
|
||||
|
||||
HB_TRACE(("dbfPutValueFile(%p, %hu, %p)", pArea, uiIndex, pFile));
|
||||
|
||||
if( uiIndex > pArea->uiFieldCount )
|
||||
return FAILURE;
|
||||
|
||||
@@ -1411,6 +1491,8 @@ static ERRCODE dbfPutValueFile( AREAP pArea, USHORT uiIndex, void * pFile )
|
||||
|
||||
static ERRCODE dbfRawLock( AREAP pArea, USHORT uiAction, ULONG lRecNo )
|
||||
{
|
||||
HB_TRACE(("dbfRawLock(%p, %hu, %lu)", pArea, uiAction, lRecNo));
|
||||
|
||||
if( SELF_GOCOLD( pArea ) == FAILURE )
|
||||
return FAILURE;
|
||||
|
||||
@@ -1448,6 +1530,8 @@ static ERRCODE dbfReadDBHeader( AREAP pArea )
|
||||
char * szBuffer;
|
||||
USHORT uiFields, uiCount;
|
||||
|
||||
HB_TRACE(("dbfReadHeader(%p)", pArea));
|
||||
|
||||
hb_fsSeek( pArea->lpFileInfo->hFile, 0, FS_SET );
|
||||
if( hb_fsRead( pArea->lpFileInfo->hFile, ( BYTE * ) &pHeader,
|
||||
sizeof( DBFHEADER ) ) != sizeof( DBFHEADER ) )
|
||||
@@ -1520,6 +1604,8 @@ static ERRCODE dbfReadDBHeader( AREAP pArea )
|
||||
|
||||
static ERRCODE dbfRecAll( AREAP pArea )
|
||||
{
|
||||
HB_TRACE(("dbfRecAll(%p)", pArea));
|
||||
|
||||
if( SELF_GOHOT( pArea ) == FAILURE )
|
||||
return FAILURE;
|
||||
|
||||
@@ -1537,6 +1623,8 @@ static ERRCODE dbfRecCount( AREAP pArea, ULONG * pRecCount )
|
||||
{
|
||||
DBFHEADER pHeader;
|
||||
|
||||
HB_TRACE(("dbfRecCount(%p, %p)", pArea, pRecCount));
|
||||
|
||||
hb_fsSeek( pArea->lpFileInfo->hFile, 0, FS_SET );
|
||||
if( hb_fsRead( pArea->lpFileInfo->hFile, ( BYTE * ) &pHeader,
|
||||
sizeof( DBFHEADER ) ) != sizeof( DBFHEADER ) )
|
||||
@@ -1549,6 +1637,8 @@ static ERRCODE dbfRecInfo( AREAP pArea, PHB_ITEM pRecNo, USHORT uiType, PHB_ITEM
|
||||
{
|
||||
ULONG lRecNo;
|
||||
|
||||
HB_TRACE(("dbfRecInfo(%p, %p, %hu, %p)", pArea, pRecNo, uiType, pItem));
|
||||
|
||||
lRecNo = pArea->lpExtendInfo->lRecNo;
|
||||
if( SELF_GOTOID( pArea, pRecNo ) == SUCCESS )
|
||||
{
|
||||
@@ -1581,6 +1671,8 @@ static ERRCODE dbfRecInfo( AREAP pArea, PHB_ITEM pRecNo, USHORT uiType, PHB_ITEM
|
||||
|
||||
static ERRCODE dbfRecNo( AREAP pArea, PHB_ITEM pRecNo )
|
||||
{
|
||||
HB_TRACE(("dbfRecNo(%p, %p)", pArea, pRecNo));
|
||||
|
||||
hb_itemPutNL( pRecNo, pArea->lpExtendInfo->lRecNo );
|
||||
return SUCCESS;
|
||||
}
|
||||
@@ -1590,6 +1682,8 @@ static ERRCODE dbfRelease( AREAP pArea )
|
||||
USHORT uiCount;
|
||||
LPFIELD pField;
|
||||
|
||||
HB_TRACE(("dbfRelease(%p)", pArea));
|
||||
|
||||
if( pArea->lpExtendInfo->fHasMemo )
|
||||
{
|
||||
for( uiCount = 0; uiCount < pArea->uiFieldCount; uiCount++ )
|
||||
@@ -1608,6 +1702,8 @@ static ERRCODE dbfRelease( AREAP pArea )
|
||||
|
||||
static ERRCODE dbfUnLock( AREAP pArea, ULONG lRecNo )
|
||||
{
|
||||
HB_TRACE(("dbfUnLock(%p, %lu)", pArea, lRecNo));
|
||||
|
||||
if( lRecNo == 0 )
|
||||
hb_dbfUnLockAllRecords( pArea );
|
||||
else
|
||||
@@ -1624,6 +1720,8 @@ static ERRCODE dbfWriteDBHeader( AREAP pArea )
|
||||
time_t t;
|
||||
struct tm * pTime;
|
||||
|
||||
HB_TRACE(("dbfWriteDBHeader(%p)", pArea));
|
||||
|
||||
memset( &pHeader, 0, sizeof( DBFHEADER ) );
|
||||
pHeader.uiRecordLen = 1;
|
||||
pHeader.bVersion = 0x03;
|
||||
@@ -1716,6 +1814,8 @@ static ERRCODE dbfZap( AREAP pArea )
|
||||
DBOPENINFO pInfo;
|
||||
ULONG ulRecCount;
|
||||
|
||||
HB_TRACE(("dbfZap(%p)", pArea));
|
||||
|
||||
if( !pArea->lpExtendInfo->fExclusive )
|
||||
{
|
||||
pError = hb_errNew();
|
||||
|
||||
@@ -118,6 +118,8 @@ static BOOL hb_nltoa( LONG lValue, char * szBuffer, USHORT uiLen )
|
||||
LONG lAbsNumber;
|
||||
int iCount, iPos;
|
||||
|
||||
HB_TRACE(("hb_nltoa(%ld, %p, %hu)", lValue, szBuffer, uiLen));
|
||||
|
||||
lAbsNumber = ( lValue > 0 ) ? lValue : - lValue;
|
||||
iCount = iPos = uiLen;
|
||||
while( iCount-- > 0 )
|
||||
@@ -162,6 +164,8 @@ static ULONG hb_cdxSwapBytes( ULONG ulValue )
|
||||
{
|
||||
BYTE * pValue, pByte;
|
||||
|
||||
HB_TRACE(("hb_cdxSwapBytes(%lu)", ulValue));
|
||||
|
||||
pValue = ( BYTE * ) &ulValue;
|
||||
pByte = pValue[ 0 ];
|
||||
pValue[ 0 ] = pValue[ 3 ];
|
||||
@@ -177,6 +181,8 @@ static void hb_cdxReadMemo( AREAP pArea, LPDBFMEMO pMemo, ULONG lMemoBlock )
|
||||
ULONG ulSpaceUsed;
|
||||
MEMOHEADER pMemoHeader;
|
||||
|
||||
HB_TRACE(("hb_cdxReadMemo(%p, %p, %lu)", pArea, pMemo, lMemoBlock));
|
||||
|
||||
hb_fsSeek( pArea->lpFileInfo->pNext->hFile, lMemoBlock * MEMO_BLOCK, FS_SET );
|
||||
hb_fsRead( pArea->lpFileInfo->pNext->hFile, ( BYTE * ) &pMemoHeader,
|
||||
sizeof( MEMOHEADER ) );
|
||||
@@ -198,6 +204,8 @@ static BOOL hb_cdxWriteMemo( AREAP pArea, LPDBFMEMO pMemo, ULONG * lNewRecNo )
|
||||
MEMOHEADER pMemoHeader;
|
||||
BYTE * pBuffer;
|
||||
|
||||
HB_TRACE(("hb_cdxWriteMemo(%p, %p, %p)", pArea, pMemo, lNewRecNo));
|
||||
|
||||
if( !pArea->lpExtendInfo->fExclusive && !pArea->lpFileInfo->fFileLocked &&
|
||||
!hb_fsLock( pArea->lpFileInfo->pNext->hFile, LOCK_APPEND - 1, 1, FL_LOCK ) )
|
||||
return FALSE;
|
||||
@@ -316,6 +324,8 @@ static ERRCODE cdxCreateMemFile( AREAP pArea, LPDBOPENINFO pCreateInfo )
|
||||
BOOL bError;
|
||||
PHB_ITEM pError = NULL;
|
||||
|
||||
HB_TRACE(("cdxCreateMemFile(%p, %p)", pArea, pCreateInfo));
|
||||
|
||||
lpMemInfo = pArea->lpFileInfo->pNext;
|
||||
do
|
||||
{
|
||||
@@ -362,6 +372,8 @@ static ERRCODE cdxGetValueFile( AREAP pArea, USHORT uiIndex, void * pFile )
|
||||
BYTE * szText, szEndChar;
|
||||
LPFIELD pField;
|
||||
|
||||
HB_TRACE(("cdxGetValueFile(%p, %hu, %p)", pArea, uiIndex, pFile));
|
||||
|
||||
HB_SYMBOL_UNUSED( pFile );
|
||||
if( uiIndex > pArea->uiFieldCount )
|
||||
return FAILURE;
|
||||
@@ -388,6 +400,8 @@ static ERRCODE cdxGetValueFile( AREAP pArea, USHORT uiIndex, void * pFile )
|
||||
|
||||
static ERRCODE cdxInfo( AREAP pArea, USHORT uiIndex, PHB_ITEM pItem )
|
||||
{
|
||||
HB_TRACE(("cdxInfo(%p, %hu, %p)", pArea, uiIndex, pItem));
|
||||
|
||||
if( uiIndex == DBI_MEMOEXT )
|
||||
{
|
||||
hb_itemPutC( pItem, ".fpt" );
|
||||
@@ -405,6 +419,8 @@ static ERRCODE cdxOpenMemFile( AREAP pArea, LPDBOPENINFO pOpenInfo )
|
||||
PHB_ITEM pError = NULL;
|
||||
BOOL bRetry;
|
||||
|
||||
HB_TRACE(("cdxOpenMemFile(%p, %p)", pArea, pOpenInfo));
|
||||
|
||||
lpMemInfo = pArea->lpFileInfo->pNext;
|
||||
uiFlags = pOpenInfo->fReadonly ? FO_READ : FO_READWRITE;
|
||||
uiFlags |= pOpenInfo->fShared ? FO_DENYNONE : FO_EXCLUSIVE;
|
||||
@@ -449,6 +465,8 @@ static ERRCODE cdxPutValueFile( AREAP pArea, USHORT uiIndex, void * pFile )
|
||||
BYTE * szText, szEndChar;
|
||||
ULONG lMemoBlock;
|
||||
|
||||
HB_TRACE(("cdxPutValueFile(%p, %hu, %p)", pArea, uiIndex, pFile));
|
||||
|
||||
HB_SYMBOL_UNUSED( pFile );
|
||||
|
||||
if( uiIndex > pArea->uiFieldCount )
|
||||
@@ -479,6 +497,8 @@ static ERRCODE cdxWriteDBHeader( AREAP pArea )
|
||||
time_t t;
|
||||
struct tm * pTime;
|
||||
|
||||
HB_TRACE(("cdxWriteDBHeader(%p)", pArea));
|
||||
|
||||
memset( &pHeader, 0, sizeof( DBFHEADER ) );
|
||||
pHeader.uiRecordLen = 1;
|
||||
pHeader.bVersion = 0x03;
|
||||
|
||||
Reference in New Issue
Block a user