From e227af16d0d776ae5f96ea059de0850e5216346f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20Czerpak?= Date: Tue, 11 Mar 2014 09:38:36 +0100 Subject: [PATCH] 2014-03-11 09:38 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * include/hbdbsort.h * include/hbrddcdx.h * include/hbrddnsx.h * include/hbrddntx.h * include/hbsxfunc.h * src/rdd/dbfcdx/dbfcdx1.c * src/rdd/dbffpt/dbffpt1.c * src/rdd/dbfnsx/dbfnsx1.c * src/rdd/dbfntx/dbfntx1.c * src/rdd/dbsql.c * src/rdd/hbdbsort.c * src/rdd/hbsix/sxcompr.c * src/rdd/hbsix/sxsem.c * changed hb_fs*() API to hb_file*() API --- ChangeLog.txt | 16 ++++ include/hbdbsort.h | 2 +- include/hbrddcdx.h | 38 +++++----- include/hbrddnsx.h | 58 +++++++-------- include/hbrddntx.h | 2 +- include/hbsxfunc.h | 4 +- src/rdd/dbfcdx/dbfcdx1.c | 23 +++--- src/rdd/dbffpt/dbffpt1.c | 155 +++++++++++++++++++-------------------- src/rdd/dbfnsx/dbfnsx1.c | 29 ++++---- src/rdd/dbfntx/dbfntx1.c | 29 ++++---- src/rdd/dbsql.c | 36 ++++----- src/rdd/hbdbsort.c | 40 +++++----- src/rdd/hbsix/sxcompr.c | 102 +++++++++++++------------- src/rdd/hbsix/sxsem.c | 60 +++++++-------- 14 files changed, 306 insertions(+), 288 deletions(-) diff --git a/ChangeLog.txt b/ChangeLog.txt index af13afd2a3..807ce7fb58 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -10,6 +10,22 @@ * Change, ! Fix, % Optimization, + Addition, - Removal, ; Comment */ +2014-03-11 09:38 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) + * include/hbdbsort.h + * include/hbrddcdx.h + * include/hbrddnsx.h + * include/hbrddntx.h + * include/hbsxfunc.h + * src/rdd/dbfcdx/dbfcdx1.c + * src/rdd/dbffpt/dbffpt1.c + * src/rdd/dbfnsx/dbfnsx1.c + * src/rdd/dbfntx/dbfntx1.c + * src/rdd/dbsql.c + * src/rdd/hbdbsort.c + * src/rdd/hbsix/sxcompr.c + * src/rdd/hbsix/sxsem.c + * changed hb_fs*() API to hb_file*() API + 2014-03-10 18:59 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * contrib/hbtcpio/tcpio.c * use default timeout defined in initial hostname string in read/write diff --git a/include/hbdbsort.h b/include/hbdbsort.h index 0ca3203386..586e120223 100644 --- a/include/hbdbsort.h +++ b/include/hbdbsort.h @@ -61,7 +61,7 @@ HB_EXTERN_BEGIN typedef struct _DBQUICKSORT { - HB_FHANDLE hFile; + PHB_FILE pFile; char szTempName[ HB_PATH_MAX ]; HB_BYTE * pBuffer; HB_BYTE * pSwapBufferA; diff --git a/include/hbrddcdx.h b/include/hbrddcdx.h index c178fe18fa..d5afc77bea 100644 --- a/include/hbrddcdx.h +++ b/include/hbrddcdx.h @@ -419,30 +419,30 @@ typedef CDXSWAPPAGE * LPCDXSWAPPAGE; typedef struct { - LPCDXTAG pTag; /* current Tag */ - HB_FHANDLE hTempFile; /* handle to temporary file */ - char * szTempFileName; /* temporary file name */ - int keyLen; /* key length */ - HB_BYTE bTrl; /* filler char for shorter keys */ - HB_BOOL fUnique; /* HB_TRUE if index is unique */ - HB_BOOL fReindex; /* HB_TRUE if reindexing is in process */ - HB_ULONG ulMaxRec; /* the highest record number */ - HB_ULONG ulTotKeys; /* total number of keys indexed */ - HB_ULONG ulKeys; /* keys in curently created page */ - HB_ULONG ulPages; /* number of pages */ - HB_ULONG ulCurPage; /* current page */ - HB_ULONG ulPgKeys; /* maximum number of key in page memory buffer */ - HB_ULONG ulMaxKey; /* maximum number of keys in single page */ - HB_BYTE * pKeyPool; /* memory buffer for current page then for pages */ - LPCDXSWAPPAGE pSwapPage; /* list of pages */ - LPCDXPAGE NodeList[ CDX_STACKSIZE ]; /* Stack of pages */ + LPCDXTAG pTag; /* current Tag */ + PHB_FILE pTempFile; /* handle to temporary file */ + char * szTempFileName; /* temporary file name */ + int keyLen; /* key length */ + HB_BYTE bTrl; /* filler char for shorter keys */ + HB_BOOL fUnique; /* HB_TRUE if index is unique */ + HB_BOOL fReindex; /* HB_TRUE if reindexing is in process */ + HB_ULONG ulMaxRec; /* the highest record number */ + HB_ULONG ulTotKeys; /* total number of keys indexed */ + HB_ULONG ulKeys; /* keys in curently created page */ + HB_ULONG ulPages; /* number of pages */ + HB_ULONG ulCurPage; /* current page */ + HB_ULONG ulPgKeys; /* maximum number of key in page memory buffer */ + HB_ULONG ulMaxKey; /* maximum number of keys in single page */ + HB_BYTE * pKeyPool; /* memory buffer for current page then for pages */ + LPCDXSWAPPAGE pSwapPage; /* list of pages */ + LPCDXPAGE NodeList[ CDX_STACKSIZE ]; /* Stack of pages */ HB_ULONG ulFirst; HB_ULONG * pSortedPages; - HB_BYTE pLastKey[ CDX_MAXKEY ]; /* last key val */ + HB_BYTE pLastKey[ CDX_MAXKEY ]; /* last key val */ HB_ULONG ulLastRec; HB_BYTE * pRecBuff; #ifndef HB_CDX_PACKTRAIL - int iLastTrl; /* last key trailing spaces */ + int iLastTrl; /* last key trailing spaces */ #endif } CDXSORTINFO; typedef CDXSORTINFO * LPCDXSORTINFO; diff --git a/include/hbrddnsx.h b/include/hbrddnsx.h index 63c02550cb..94474cf40b 100644 --- a/include/hbrddnsx.h +++ b/include/hbrddnsx.h @@ -520,36 +520,36 @@ typedef NSXSWAPPAGE * LPNSXSWAPPAGE; typedef struct { - LPTAGINFO pTag; /* current Tag */ - HB_FHANDLE hTempFile; /* handle to temporary file */ - char * szTempFileName; /* temporary file name */ - int keyLen; /* key length */ - HB_UCHAR trailChar; /* index key trail character */ - HB_UCHAR recSize; /* record size in leaf keys */ - HB_BOOL fUnique; /* HB_TRUE if index is unique */ - HB_BOOL fReindex; /* HB_TRUE if reindexing is in process */ - HB_ULONG ulMaxRec; /* the highest record number */ - HB_ULONG ulTotKeys; /* total number of keys indexed */ - HB_ULONG ulKeys; /* keys in curently created page */ - HB_ULONG ulPages; /* number of pages */ - HB_ULONG ulCurPage; /* current page */ - HB_ULONG ulPgKeys; /* maximum number of key in page memory buffer */ - HB_ULONG ulMaxKey; /* maximum number of keys in single page */ - HB_UCHAR * pKeyPool; /* memory buffer for current page then for pages */ - HB_UCHAR * pStartKey; /* begining of key pool after sorting */ - LPNSXSWAPPAGE pSwapPage; /* list of pages */ - LPPAGEINFO NodeList[ NSX_STACKSIZE ]; /* Stack of pages */ - HB_ULONG ulFirst; - HB_ULONG * pSortedPages; - HB_UCHAR pLastKey[ NSX_MAXKEYLEN ]; /* last key val */ - HB_ULONG ulLastRec; - HB_ULONG ulLastLeaf; /* last non empty leaf page written to tag */ + LPTAGINFO pTag; /* current Tag */ + PHB_FILE pTempFile; /* handle to temporary file */ + char * szTempFileName; /* temporary file name */ + int keyLen; /* key length */ + HB_UCHAR trailChar; /* index key trail character */ + HB_UCHAR recSize; /* record size in leaf keys */ + HB_BOOL fUnique; /* HB_TRUE if index is unique */ + HB_BOOL fReindex; /* HB_TRUE if reindexing is in process */ + HB_ULONG ulMaxRec; /* the highest record number */ + HB_ULONG ulTotKeys; /* total number of keys indexed */ + HB_ULONG ulKeys; /* keys in curently created page */ + HB_ULONG ulPages; /* number of pages */ + HB_ULONG ulCurPage; /* current page */ + HB_ULONG ulPgKeys; /* maximum number of key in page memory buffer */ + HB_ULONG ulMaxKey; /* maximum number of keys in single page */ + HB_UCHAR * pKeyPool; /* memory buffer for current page then for pages */ + HB_UCHAR * pStartKey; /* begining of key pool after sorting */ + LPNSXSWAPPAGE pSwapPage; /* list of pages */ + LPPAGEINFO NodeList[ NSX_STACKSIZE ]; /* Stack of pages */ + HB_ULONG ulFirst; + HB_ULONG * pSortedPages; + HB_UCHAR pLastKey[ NSX_MAXKEYLEN ]; /* last key val */ + HB_ULONG ulLastRec; + HB_ULONG ulLastLeaf; /* last non empty leaf page written to tag */ - HB_UCHAR * pBuffIO; /* index IO buffer */ - HB_ULONG ulSizeIO; /* size of IO buffer in index pages */ - HB_ULONG ulPagesIO; /* number of index pages in buffer */ - HB_ULONG ulFirstIO; /* first page in buffer */ - HB_ULONG ulLastIO; /* last page in buffer */ + HB_UCHAR * pBuffIO; /* index IO buffer */ + HB_ULONG ulSizeIO; /* size of IO buffer in index pages */ + HB_ULONG ulPagesIO; /* number of index pages in buffer */ + HB_ULONG ulFirstIO; /* first page in buffer */ + HB_ULONG ulLastIO; /* last page in buffer */ } NSXSORTINFO; typedef NSXSORTINFO * LPNSXSORTINFO; diff --git a/include/hbrddntx.h b/include/hbrddntx.h index 5e4e548ebe..99d8dd0250 100644 --- a/include/hbrddntx.h +++ b/include/hbrddntx.h @@ -303,7 +303,7 @@ typedef NTXSWAPPAGE * LPNTXSWAPPAGE; typedef struct { LPTAGINFO pTag; /* current Tag */ - HB_FHANDLE hTempFile; /* handle to temporary file */ + PHB_FILE pTempFile; /* handle to temporary file */ char * szTempFileName; /* temporary file name */ int keyLen; /* key length */ HB_BOOL fUnique; /* HB_TRUE if index is unique */ diff --git a/include/hbsxfunc.h b/include/hbsxfunc.h index 2bd78cb855..b7824938bb 100644 --- a/include/hbsxfunc.h +++ b/include/hbsxfunc.h @@ -66,8 +66,8 @@ void hb_sxDeCrypt( const char * pSrc, char * pDst, const char * pKeyVal, HB_SIZE HB_BOOL hb_LZSSxDecompressMem( const char * pSrcBuf, HB_SIZE nSrcLen, char * pDstBuf, HB_SIZE nDstLen ); HB_BOOL hb_LZSSxCompressMem( const char * pSrcBuf, HB_SIZE nSrcLen, char * pDstBuf, HB_SIZE nDstLen, HB_SIZE * pnSize ); -HB_BOOL hb_LZSSxCompressFile( HB_FHANDLE hInput, HB_FHANDLE hOutput, HB_SIZE * pnSize ); -HB_BOOL hb_LZSSxDecompressFile( HB_FHANDLE hInput, HB_FHANDLE hOutput ); +HB_BOOL hb_LZSSxCompressFile( PHB_FILE pInput, PHB_FILE pOutput, HB_SIZE * pnSize ); +HB_BOOL hb_LZSSxDecompressFile( PHB_FILE pInput, PHB_FILE pOutput ); HB_EXTERN_END diff --git a/src/rdd/dbfcdx/dbfcdx1.c b/src/rdd/dbfcdx/dbfcdx1.c index 94b55061e7..637d72b642 100644 --- a/src/rdd/dbfcdx/dbfcdx1.c +++ b/src/rdd/dbfcdx/dbfcdx1.c @@ -8987,19 +8987,20 @@ static void hb_cdxSortWritePage( LPCDXSORTINFO pSort ) hb_cdxSortSortPage( pSort ); - if( pSort->hTempFile == FS_ERROR ) + if( pSort->pTempFile == NULL ) { char szName[ HB_PATH_MAX ]; - pSort->hTempFile = hb_fsCreateTemp( NULL, NULL, FC_NORMAL, szName ); - if( pSort->hTempFile == FS_ERROR ) + pSort->pTempFile = hb_fileCreateTemp( NULL, NULL, FC_NORMAL, szName ); + if( pSort->pTempFile == NULL ) { hb_errInternal( 9301, "hb_cdxSortWritePage: Can't create temporary file.", NULL, NULL ); } pSort->szTempFileName = hb_strdup( szName ); } pSort->pSwapPage[ pSort->ulCurPage ].ulKeys = pSort->ulKeys; - pSort->pSwapPage[ pSort->ulCurPage ].nOffset = hb_fsSeekLarge( pSort->hTempFile, 0, FS_END ); - if( hb_fsWriteLarge( pSort->hTempFile, pSort->pKeyPool, nSize ) != nSize ) + pSort->pSwapPage[ pSort->ulCurPage ].nOffset = hb_fileSize( pSort->pTempFile ); + if( hb_fileWriteAt( pSort->pTempFile, pSort->pKeyPool, + nSize, pSort->pSwapPage[ pSort->ulCurPage ].nOffset ) != nSize ) { hb_errInternal( 9302, "hb_cdxSortWritePage: Write error in temporary file.", NULL, NULL ); } @@ -9017,8 +9018,8 @@ static void hb_cdxSortGetPageKey( LPCDXSORTINFO pSort, HB_ULONG ulPage, HB_ULONG ulKeys = HB_MIN( pSort->ulPgKeys, pSort->pSwapPage[ ulPage ].ulKeys ); HB_SIZE nSize = ulKeys * ( iLen + 4 ); - if( hb_fsSeekLarge( pSort->hTempFile, pSort->pSwapPage[ ulPage ].nOffset, FS_SET ) != pSort->pSwapPage[ ulPage ].nOffset || - hb_fsReadLarge( pSort->hTempFile, pSort->pSwapPage[ ulPage ].pKeyPool, nSize ) != nSize ) + if( hb_fileReadAt( pSort->pTempFile, pSort->pSwapPage[ ulPage ].pKeyPool, + nSize, pSort->pSwapPage[ ulPage ].nOffset ) != nSize ) { hb_errInternal( 9303, "hb_cdxSortGetPageKey: Read error from temporary file.", NULL, NULL ); } @@ -9277,7 +9278,7 @@ static LPCDXSORTINFO hb_cdxSortNew( LPCDXTAG pTag, HB_ULONG ulRecCount ) } pSort->pTag = pTag; - pSort->hTempFile = FS_ERROR; + pSort->pTempFile = NULL; pSort->keyLen = iLen; pSort->bTrl = pTag->bTrail; pSort->fUnique = pTag->UniqueKey; @@ -9294,13 +9295,13 @@ static LPCDXSORTINFO hb_cdxSortNew( LPCDXTAG pTag, HB_ULONG ulRecCount ) static void hb_cdxSortFree( LPCDXSORTINFO pSort ) { - if( pSort->hTempFile != FS_ERROR ) + if( pSort->pTempFile != NULL ) { - hb_fsClose( pSort->hTempFile ); + hb_fileClose( pSort->pTempFile ); } if( pSort->szTempFileName ) { - hb_fsDelete( pSort->szTempFileName ); + hb_fileDelete( pSort->szTempFileName ); hb_xfree( pSort->szTempFileName ); } if( pSort->pKeyPool ) diff --git a/src/rdd/dbffpt/dbffpt1.c b/src/rdd/dbffpt/dbffpt1.c index e0846986fc..fd39ade676 100644 --- a/src/rdd/dbffpt/dbffpt1.c +++ b/src/rdd/dbffpt/dbffpt1.c @@ -2474,7 +2474,7 @@ static HB_ERRCODE hb_fptReadFlexItem( FPTAREAP pArea, HB_BYTE ** pbMemoBuf, HB_B } static HB_ERRCODE hb_fptCopyToRawFile( PHB_FILE pSrc, HB_FOFFSET from, - HB_FHANDLE hDst, + PHB_FILE pDst, HB_FOFFSET size ) { HB_ERRCODE errCode = HB_SUCCESS; @@ -2495,7 +2495,7 @@ static HB_ERRCODE hb_fptCopyToRawFile( PHB_FILE pSrc, HB_FOFFSET from, from + written ); if( ulRead == 0 ) errCode = EDBF_READ; - else if( hb_fsWriteLarge( hDst, pBuffer, ulRead ) != ulRead ) + else if( hb_fileWrite( pDst, pBuffer, ulRead, -1 ) != ulRead ) errCode = EDBF_WRITE; else written += ulRead; @@ -2544,7 +2544,7 @@ static HB_ERRCODE hb_fptCopyToFile( PHB_FILE pSrc, HB_FOFFSET from, return errCode; } -static HB_ERRCODE hb_fptReadRawBlock( FPTAREAP pArea, HB_BYTE * bBuffer, HB_FHANDLE hFile, +static HB_ERRCODE hb_fptReadRawBlock( FPTAREAP pArea, HB_BYTE * bBuffer, PHB_FILE pFile, HB_ULONG ulBlock, HB_ULONG ulSize ) { HB_ERRCODE errCode = HB_SUCCESS; @@ -2552,10 +2552,10 @@ static HB_ERRCODE hb_fptReadRawBlock( FPTAREAP pArea, HB_BYTE * bBuffer, HB_FHAN if( ulBlock == 0 ) return EDBF_CORRUPT; - if( hFile != FS_ERROR ) + if( pFile != NULL ) { errCode = hb_fptCopyToRawFile( pArea->pMemoFile, FPT_BLOCK_OFFSET( ulBlock ), - hFile, ulSize ); + pFile, ulSize ); } else { @@ -2568,7 +2568,7 @@ static HB_ERRCODE hb_fptReadRawBlock( FPTAREAP pArea, HB_BYTE * bBuffer, HB_FHAN } static HB_ERRCODE hb_fptReadBlobBlock( FPTAREAP pArea, PHB_ITEM pItem, - HB_FHANDLE hFile, HB_ULONG ulBlock, + PHB_FILE pFile, HB_ULONG ulBlock, HB_USHORT uiMode ) { HB_ULONG ulSize; @@ -2584,9 +2584,9 @@ static HB_ERRCODE hb_fptReadBlobBlock( FPTAREAP pArea, PHB_ITEM pItem, return EDBF_READ; ulSize = HB_GET_LE_UINT32( buffer ); - if( hFile != FS_ERROR ) + if( pFile != NULL ) return hb_fptCopyToRawFile( pArea->pMemoFile, FPT_BLOCK_OFFSET( ulBlock ) + 4, - hFile, ulSize ); + pFile, ulSize ); if( ulSize == 0 ) hb_itemPutC( pItem, NULL ); @@ -2651,7 +2651,7 @@ static HB_ERRCODE hb_fptReadSMTBlock( FPTAREAP pArea, PHB_ITEM pItem, * Read fpt vartype memos. */ static HB_ERRCODE hb_fptGetMemo( FPTAREAP pArea, HB_USHORT uiIndex, PHB_ITEM pItem, - HB_FHANDLE hFile, HB_ULONG ulBlock, HB_ULONG ulStart, + PHB_FILE pFile, HB_ULONG ulBlock, HB_ULONG ulStart, HB_ULONG ulCount, int iTrans ) { HB_ERRCODE errCode; @@ -2660,7 +2660,7 @@ static HB_ERRCODE hb_fptGetMemo( FPTAREAP pArea, HB_USHORT uiIndex, PHB_ITEM pIt HB_BYTE * bMemoBuf; FPTBLOCK fptBlock; - HB_TRACE( HB_TR_DEBUG, ( "hb_fptGetMemo(%p, %hu, %p, %p, %lu, %lu, %d)", pArea, uiIndex, pItem, ( void * ) ( HB_PTRDIFF ) hFile, ulStart, ulCount, iTrans ) ); + HB_TRACE( HB_TR_DEBUG, ( "hb_fptGetMemo(%p, %hu, %p, %p, %lu, %lu, %d)", pArea, uiIndex, pItem, pFile, ulStart, ulCount, iTrans ) ); if( uiIndex ) { @@ -2725,9 +2725,9 @@ static HB_ERRCODE hb_fptGetMemo( FPTAREAP pArea, HB_USHORT uiIndex, PHB_ITEM pIt if( ulStart && ulSize ) fOffset += ulStart; - if( hFile != FS_ERROR ) + if( pFile != NULL ) { - return hb_fptCopyToRawFile( pArea->pMemoFile, fOffset, hFile, ulSize ); + return hb_fptCopyToRawFile( pArea->pMemoFile, fOffset, pFile, ulSize ); } if( pArea->bMemoType == DB_MEMO_FPT ) @@ -2920,7 +2920,7 @@ static HB_ERRCODE hb_fptGetMemo( FPTAREAP pArea, HB_USHORT uiIndex, PHB_ITEM pIt * Write memo data. */ static HB_ERRCODE hb_fptWriteMemo( FPTAREAP pArea, HB_ULONG ulBlock, HB_ULONG ulSize, - const HB_BYTE * bBufPtr, HB_FHANDLE hFile, + const HB_BYTE * bBufPtr, PHB_FILE pFile, HB_ULONG ulType, HB_ULONG ulLen, HB_ULONG * pulStoredBlock ) { MEMOGCTABLE fptGCtable; @@ -2928,7 +2928,7 @@ static HB_ERRCODE hb_fptWriteMemo( FPTAREAP pArea, HB_ULONG ulBlock, HB_ULONG ul HB_BOOL bWrite; HB_TRACE( HB_TR_DEBUG, ( "hb_fptWriteMemo(%p, %lu, %lu, %p, %p, %lu, %lu, %p)", - pArea, ulBlock, ulSize, bBufPtr, ( void * ) ( HB_PTRDIFF ) hFile, ulType, ulLen, pulStoredBlock ) ); + pArea, ulBlock, ulSize, bBufPtr, pFile, ulType, ulLen, pulStoredBlock ) ); bWrite = ( ulLen != 0 || ( pArea->bMemoType == DB_MEMO_FPT && ulType != FPTIT_TEXT && ulType != FPTIT_BINARY && @@ -2987,15 +2987,15 @@ static HB_ERRCODE hb_fptWriteMemo( FPTAREAP pArea, HB_ULONG ulBlock, HB_ULONG ul if( errCode == HB_SUCCESS && ulLen > 0 ) { /* TODO: uiMode => BLOB_IMPORT_COMPRESS, BLOB_IMPORT_ENCRYPT */ - if( hFile != FS_ERROR ) + if( pFile != NULL ) { HB_ULONG ulWritten = 0, ulRead, ulBufSize = HB_MIN( ( 1 << 16 ), ulLen ); HB_BYTE * bBuffer = ( HB_BYTE * ) hb_xgrab( ulBufSize ); do { - ulRead = ( HB_ULONGCAST ) hb_fsReadLarge( hFile, bBuffer, - HB_MIN( ulBufSize, ulLen - ulWritten ) ); + ulRead = ( HB_ULONGCAST ) hb_fileRead( pFile, bBuffer, + HB_MIN( ulBufSize, ulLen - ulWritten ), -1 ); if( ulRead == 0 ) errCode = EDBF_READ; else if( hb_fileWriteAt( pArea->pMemoFile, bBuffer, @@ -3236,7 +3236,7 @@ static HB_ERRCODE hb_fptPutMemo( FPTAREAP pArea, HB_USHORT uiIndex, PHB_ITEM pIt } if( errCode == HB_SUCCESS ) - errCode = hb_fptWriteMemo( pArea, ulBlock, ulOldSize, bBufPtr, FS_ERROR, + errCode = hb_fptWriteMemo( pArea, ulBlock, ulOldSize, bBufPtr, NULL, ulType, ulSize, &ulBlock ); if( bBufAlloc != NULL ) @@ -3365,14 +3365,14 @@ static HB_ERRCODE hb_fptLockForRead( FPTAREAP pArea, HB_USHORT uiIndex, HB_BOOL return errCode; } -static HB_ERRCODE hb_fptGetVarField( FPTAREAP pArea, HB_USHORT uiIndex, PHB_ITEM pItem, HB_FHANDLE hFile ) +static HB_ERRCODE hb_fptGetVarField( FPTAREAP pArea, HB_USHORT uiIndex, PHB_ITEM pItem, PHB_FILE pFile ) { LPFIELD pField; HB_ERRCODE errCode; HB_BYTE * pFieldBuf; HB_BOOL fUnLock = HB_FALSE; - HB_TRACE( HB_TR_DEBUG, ( "hb_fptGetVarField(%p, %hu, %p, %p)", pArea, uiIndex, pItem, ( void * ) ( HB_PTRDIFF ) hFile ) ); + HB_TRACE( HB_TR_DEBUG, ( "hb_fptGetVarField(%p, %hu, %p, %p)", pArea, uiIndex, pItem, pFile ) ); pField = pArea->area.lpFields + uiIndex - 1; @@ -3435,7 +3435,7 @@ static HB_ERRCODE hb_fptGetVarField( FPTAREAP pArea, HB_USHORT uiIndex, PHB_ITEM ulSize -= uiVLen; pPtr += uiVLen; } - errCode = hb_fptReadRawBlock( pArea, ( HB_BYTE * ) pPtr, FS_ERROR, ulBlock, ulSize ); + errCode = hb_fptReadRawBlock( pArea, ( HB_BYTE * ) pPtr, NULL, ulBlock, ulSize ); if( errCode == HB_SUCCESS && ulLen > 0 && ( pField->uiFlags & HB_FF_BINARY ) == 0 && hb_vmCDP() != pArea->area.cdPage ) @@ -3453,9 +3453,9 @@ static HB_ERRCODE hb_fptGetVarField( FPTAREAP pArea, HB_USHORT uiIndex, PHB_ITEM if( errCode == HB_SUCCESS ) { - if( hFile != FS_ERROR ) + if( pFile != NULL ) { - if( hb_fsWriteLarge( hFile, pString, ulLen ) != ulLen ) + if( hb_fileWrite( pFile, pString, ulLen, -1 ) != ulLen ) errCode = EDBF_WRITE; } else if( pAlloc ) @@ -3471,14 +3471,14 @@ static HB_ERRCODE hb_fptGetVarField( FPTAREAP pArea, HB_USHORT uiIndex, PHB_ITEM } else if( uiType == HB_VF_LOG ) { - if( hFile != FS_ERROR ) + if( pFile != NULL ) errCode = EDBF_DATATYPE; else hb_itemPutL( pItem, pFieldBuf[ 0 ] != 0 ); } else if( uiType == HB_VF_DNUM ) /* n>12 VFIELD else MEMO (bLen[1],bDec[1],dVal[8]) */ { - if( hFile != FS_ERROR ) + if( pFile != NULL ) errCode = EDBF_DATATYPE; else { @@ -3489,7 +3489,7 @@ static HB_ERRCODE hb_fptGetVarField( FPTAREAP pArea, HB_USHORT uiIndex, PHB_ITEM compatibility */ if( pField->uiLen <= 12 ) { - errCode = hb_fptReadRawBlock( pArea, pBuffer, FS_ERROR, ulBlock, 11 ); + errCode = hb_fptReadRawBlock( pArea, pBuffer, NULL, ulBlock, 11 ); if( errCode == HB_SUCCESS ) { if( pBuffer[ 0 ] == SMT_IT_DOUBLE ) @@ -3510,7 +3510,7 @@ static HB_ERRCODE hb_fptGetVarField( FPTAREAP pArea, HB_USHORT uiIndex, PHB_ITEM } else if( uiType == HB_VF_ARRAY ) /* MEMO only as SMT ARRAY */ { - if( hFile != FS_ERROR ) + if( pFile != NULL ) errCode = EDBF_DATATYPE; else errCode = hb_fptReadSMTBlock( pArea, pItem, ulBlock, 0, @@ -3519,11 +3519,11 @@ static HB_ERRCODE hb_fptGetVarField( FPTAREAP pArea, HB_USHORT uiIndex, PHB_ITEM FPT_TRANS_CP : FPT_TRANS_NONE ); } else if( uiType == HB_VF_BLOB ) - errCode = hb_fptReadBlobBlock( pArea, pItem, hFile, ulBlock, 0 ); + errCode = hb_fptReadBlobBlock( pArea, pItem, pFile, ulBlock, 0 ); else if( uiType == HB_VF_BLOBCOMPRESS ) - errCode = hb_fptReadBlobBlock( pArea, pItem, hFile, ulBlock, BLOB_IMPORT_COMPRESS ); + errCode = hb_fptReadBlobBlock( pArea, pItem, pFile, ulBlock, BLOB_IMPORT_COMPRESS ); else if( uiType == HB_VF_BLOBENCRYPT ) - errCode = hb_fptReadBlobBlock( pArea, pItem, hFile, ulBlock, BLOB_IMPORT_ENCRYPT ); + errCode = hb_fptReadBlobBlock( pArea, pItem, pFile, ulBlock, BLOB_IMPORT_ENCRYPT ); else errCode = EDBF_DATATYPE; } @@ -3537,12 +3537,12 @@ static HB_ERRCODE hb_fptGetVarField( FPTAREAP pArea, HB_USHORT uiIndex, PHB_ITEM if( errCode != HB_SUCCESS ) return errCode; - errCode = hb_fptGetMemo( pArea, uiIndex, pItem, hFile, 0, 0, 0, + errCode = hb_fptGetMemo( pArea, uiIndex, pItem, pFile, 0, 0, 0, ( pField->uiFlags & HB_FF_UNICODE ) != 0 ? FPT_TRANS_UNICODE : ( ( pField->uiFlags & HB_FF_BINARY ) == 0 && hb_vmCDP() != pArea->area.cdPage ? FPT_TRANS_CP : FPT_TRANS_NONE ) ); } - else if( hFile == FS_ERROR ) + else if( pFile == NULL ) { return SUPER_GETVALUE( ( AREAP ) pArea, uiIndex, pItem ); } @@ -3560,25 +3560,25 @@ static HB_ERRCODE hb_fptGetVarField( FPTAREAP pArea, HB_USHORT uiIndex, PHB_ITEM static HB_ERRCODE hb_fptGetVarFile( FPTAREAP pArea, HB_ULONG ulBlock, const char * szFile, HB_USHORT uiMode, int iTrans ) { HB_ERRCODE errCode; - HB_FHANDLE hFile; + PHB_FILE pFile; HB_TRACE( HB_TR_DEBUG, ( "hb_fptGetVarFile(%p, %lu, %s, %hu, %d)", pArea, ulBlock, szFile, uiMode, iTrans ) ); - hFile = hb_fsExtOpen( szFile, NULL, FO_WRITE | FO_EXCLUSIVE | - FXO_DEFAULTS | FXO_SHARELOCK | - ( uiMode == FILEGET_APPEND ? - FXO_APPEND : FXO_TRUNCATE ), - NULL, NULL ); + pFile = hb_fileExtOpen( szFile, NULL, FO_WRITE | FO_EXCLUSIVE | + FXO_DEFAULTS | FXO_SHARELOCK | + ( uiMode == FILEGET_APPEND ? + FXO_APPEND : FXO_TRUNCATE ), + NULL, NULL ); - if( hFile == FS_ERROR ) + if( pFile == NULL ) { errCode = uiMode != FILEGET_APPEND ? EDBF_CREATE : EDBF_OPEN_DBF; } else { - hb_fsSeekLarge( hFile, 0, FS_END ); - errCode = hb_fptGetMemo( pArea, 0, NULL, hFile, ulBlock, 0, 0, iTrans ); - hb_fsClose( hFile ); + hb_fileSeek( pFile, 0, FS_END ); + errCode = hb_fptGetMemo( pArea, 0, NULL, pFile, ulBlock, 0, 0, iTrans ); + hb_fileClose( pFile ); } /* Exit if any error */ @@ -3599,21 +3599,21 @@ static HB_ERRCODE hb_fptGetVarFile( FPTAREAP pArea, HB_ULONG ulBlock, const char static HB_ULONG hb_fptPutVarFile( FPTAREAP pArea, HB_ULONG ulBlock, const char * szFile ) { HB_ERRCODE errCode; - HB_FHANDLE hFile; + PHB_FILE pFile; HB_TRACE( HB_TR_DEBUG, ( "hb_fptPutVarFile(%p, %lu, %s)", pArea, ulBlock, szFile ) ); - hFile = hb_fsExtOpen( szFile, NULL, FO_READ | FO_DENYNONE | - FXO_DEFAULTS | FXO_SHARELOCK, NULL, NULL ); - if( hFile == FS_ERROR ) + pFile = hb_fileExtOpen( szFile, NULL, FO_READ | FO_DENYNONE | + FXO_DEFAULTS | FXO_SHARELOCK, NULL, NULL ); + if( pFile == NULL ) { errCode = EDBF_OPEN_DBF; } else { HB_ULONG ulSize; - HB_FOFFSET size = hb_fsSeekLarge( hFile, 0, FS_END ); - hb_fsSeek( hFile, 0, FS_SET ); + HB_FOFFSET size = hb_fileSize( pFile ); + hb_fileSeek( pFile, 0, FS_SET ); if( ( HB_FOFFSET ) ( size & 0xFFFFFFFFUL ) == size ) ulSize = HB_MIN( ( HB_ULONG ) size, 0xFFFFFFFFUL - sizeof( FPTBLOCK ) ); else @@ -3621,7 +3621,7 @@ static HB_ULONG hb_fptPutVarFile( FPTAREAP pArea, HB_ULONG ulBlock, const char * if( hb_fptFileLockEx( pArea, HB_TRUE ) ) { - errCode = hb_fptWriteMemo( pArea, ulBlock, 0, NULL, hFile, + errCode = hb_fptWriteMemo( pArea, ulBlock, 0, NULL, pFile, 0, ulSize, &ulBlock ); hb_fptFileUnLockEx( pArea ); } @@ -3629,7 +3629,7 @@ static HB_ULONG hb_fptPutVarFile( FPTAREAP pArea, HB_ULONG ulBlock, const char * { errCode = EDBF_LOCK; } - hb_fsClose( hFile ); + hb_fileClose( pFile ); } if( errCode != HB_SUCCESS ) @@ -3868,7 +3868,7 @@ static HB_ERRCODE hb_fptPutVarField( FPTAREAP pArea, HB_USHORT uiIndex, PHB_ITEM else { errCode = hb_fptWriteMemo( pArea, ulOldBlock, ulOldSize, - pBlock, FS_ERROR, + pBlock, NULL, FPTIT_DUMMY, ulNewSize, &ulOldBlock ); if( errCode == HB_SUCCESS ) { @@ -3958,7 +3958,7 @@ static HB_ERRCODE hb_fptGetValue( FPTAREAP pArea, HB_USHORT uiIndex, PHB_ITEM pI if( ! uiIndex || uiIndex > pArea->area.uiFieldCount ) return HB_FAILURE; - errCode = hb_fptGetVarField( pArea, uiIndex, pItem, FS_ERROR ); + errCode = hb_fptGetVarField( pArea, uiIndex, pItem, NULL ); if( errCode != HB_SUCCESS ) { @@ -4203,23 +4203,23 @@ static HB_ERRCODE hb_fptGetValueFile( FPTAREAP pArea, HB_USHORT uiIndex, const c pArea->area.lpFields[ uiIndex - 1 ].uiType == HB_FT_ANY ) ) { HB_ERRCODE errCode; - HB_FHANDLE hFile; + PHB_FILE pFile; - hFile = hb_fsExtOpen( szFile, NULL, FO_WRITE | FO_EXCLUSIVE | - FXO_DEFAULTS | FXO_SHARELOCK | - ( uiMode == FILEGET_APPEND ? - FXO_APPEND : FXO_TRUNCATE ), - NULL, NULL ); + pFile = hb_fileExtOpen( szFile, NULL, FO_WRITE | FO_EXCLUSIVE | + FXO_DEFAULTS | FXO_SHARELOCK | + ( uiMode == FILEGET_APPEND ? + FXO_APPEND : FXO_TRUNCATE ), + NULL, NULL ); - if( hFile == FS_ERROR ) + if( pFile == NULL ) { errCode = uiMode != FILEGET_APPEND ? EDBF_CREATE : EDBF_OPEN_DBF; } else { - hb_fsSeekLarge( hFile, 0, FS_END ); - errCode = hb_fptGetVarField( pArea, uiIndex, NULL, hFile ); - hb_fsClose( hFile ); + hb_fileSeek( pFile, 0, FS_END ); + errCode = hb_fptGetVarField( pArea, uiIndex, NULL, pFile ); + hb_fileClose( pFile ); } /* Exit if any error */ @@ -4405,7 +4405,7 @@ static HB_ERRCODE hb_fptPutValueFile( FPTAREAP pArea, HB_USHORT uiIndex, const c { HB_ERRCODE errCode; HB_BOOL bDeleted; - HB_FHANDLE hFile; + PHB_FILE pFile; /* update any pending relations and reread record if necessary */ errCode = SELF_DELETED( ( AREAP ) pArea, &bDeleted ); @@ -4419,9 +4419,9 @@ static HB_ERRCODE hb_fptPutValueFile( FPTAREAP pArea, HB_USHORT uiIndex, const c if( ! pArea->fRecordChanged && SELF_GOHOT( ( AREAP ) pArea ) == HB_FAILURE ) return HB_FAILURE; - hFile = hb_fsExtOpen( szFile, NULL, FO_READ | FO_DENYNONE | - FXO_DEFAULTS | FXO_SHARELOCK, NULL, NULL ); - if( hFile == FS_ERROR ) + pFile = hb_fileExtOpen( szFile, NULL, FO_READ | FO_DENYNONE | + FXO_DEFAULTS | FXO_SHARELOCK, NULL, NULL ); + if( pFile == NULL ) { errCode = EDBF_OPEN_DBF; } @@ -4429,12 +4429,11 @@ static HB_ERRCODE hb_fptPutValueFile( FPTAREAP pArea, HB_USHORT uiIndex, const c { HB_BYTE * pAlloc; HB_ULONG ulSize; - HB_FOFFSET size = hb_fsSeekLarge( hFile, 0, FS_END ); + HB_FOFFSET size = hb_fileSize( pFile ); ulSize = ( HB_ULONG ) HB_MIN( size, HB_VF_CHAR ); pAlloc = ( HB_BYTE * ) hb_xgrab( ulSize + 1 ); - hb_fsSeek( hFile, 0, FS_SET ); - if( hb_fsRead( hFile, pAlloc, ( HB_USHORT ) ulSize ) != ( HB_USHORT ) ulSize ) + if( hb_fileReadAt( pFile, pAlloc, ulSize, 0 ) != ulSize ) { errCode = EDBF_READ; hb_xfree( pAlloc ); @@ -4443,7 +4442,7 @@ static HB_ERRCODE hb_fptPutValueFile( FPTAREAP pArea, HB_USHORT uiIndex, const c { pAlloc[ ulSize ] = '\0'; } - hb_fsClose( hFile ); + hb_fileClose( pFile ); if( errCode == HB_SUCCESS ) { PHB_ITEM pItem = hb_itemPutCLPtr( NULL, ( char * ) pAlloc, ulSize ); @@ -4453,15 +4452,15 @@ static HB_ERRCODE hb_fptPutValueFile( FPTAREAP pArea, HB_USHORT uiIndex, const c } else if( ! hb_fptFileLockEx( pArea, HB_TRUE ) ) { - hb_fsClose( hFile ); + hb_fileClose( pFile ); errCode = EDBF_LOCK; } else { HB_ULONG ulSize, ulBlock, ulType, ulOldSize, ulOldType; - HB_FOFFSET size = hb_fsSeekLarge( hFile, 0, FS_END ); + HB_FOFFSET size = hb_fileSize( pFile ); - hb_fsSeek( hFile, 0, FS_SET ); + hb_fileSeek( pFile, 0, FS_SET ); if( ( HB_FOFFSET ) ( size & 0xFFFFFFFFUL ) == size ) { ulSize = HB_MIN( ( HB_ULONG ) size, 0xFFFFFFFFUL - sizeof( FPTBLOCK ) ); @@ -4480,7 +4479,7 @@ static HB_ERRCODE hb_fptPutValueFile( FPTAREAP pArea, HB_USHORT uiIndex, const c errCode = hb_dbfGetMemoData( ( DBFAREAP ) pArea, uiIndex - 1, &ulBlock, &ulOldSize, &ulOldType ); if( errCode == HB_SUCCESS ) - errCode = hb_fptWriteMemo( pArea, ulBlock, ulOldSize, NULL, hFile, + errCode = hb_fptWriteMemo( pArea, ulBlock, ulOldSize, NULL, pFile, ulType, ulSize, &ulBlock ); if( errCode == HB_SUCCESS ) errCode = hb_dbfSetMemoData( ( DBFAREAP ) pArea, uiIndex - 1, ulBlock, ulSize, ulType ); @@ -4492,7 +4491,7 @@ static HB_ERRCODE hb_fptPutValueFile( FPTAREAP pArea, HB_USHORT uiIndex, const c } #endif hb_fptFileUnLockEx( pArea ); - hb_fsClose( hFile ); + hb_fileClose( pFile ); } /* Exit if any error */ if( errCode != HB_SUCCESS ) @@ -4967,7 +4966,7 @@ static HB_ERRCODE hb_fptInfo( FPTAREAP pArea, HB_USHORT uiIndex, PHB_ITEM pItem { ulBlock = ulStart = ulCount = 0; } - errCode = hb_fptGetMemo( pArea, 0, pItem, FS_ERROR, ulBlock, ulStart, ulCount, FPT_DIRECT_TRANS( pArea ) ); + errCode = hb_fptGetMemo( pArea, 0, pItem, NULL, ulBlock, ulStart, ulCount, FPT_DIRECT_TRANS( pArea ) ); if( errCode != HB_SUCCESS ) { if( errCode != HB_FAILURE ) @@ -5023,7 +5022,7 @@ static HB_ERRCODE hb_fptInfo( FPTAREAP pArea, HB_USHORT uiIndex, PHB_ITEM pItem errCode = hb_fptGetRootBlock( pArea, &ulBlock ); if( errCode == HB_SUCCESS ) { - errCode = hb_fptGetMemo( pArea, 0, pItem, FS_ERROR, ulBlock, 0, 0, FPT_DIRECT_TRANS( pArea ) ); + errCode = hb_fptGetMemo( pArea, 0, pItem, NULL, ulBlock, 0, 0, FPT_DIRECT_TRANS( pArea ) ); } if( errCode != HB_SUCCESS ) { @@ -5140,7 +5139,7 @@ static HB_ERRCODE hb_fptFieldInfo( FPTAREAP pArea, HB_USHORT uiIndex, HB_USHORT } if( ulStart || ulCount ) iTrans = FPT_TRANS_NONE; - errCode = hb_fptGetMemo( pArea, uiIndex, pItem, FS_ERROR, 0, ulStart, ulCount, iTrans ); + errCode = hb_fptGetMemo( pArea, uiIndex, pItem, NULL, 0, ulStart, ulCount, iTrans ); if( errCode != HB_SUCCESS ) { if( errCode != HB_FAILURE ) diff --git a/src/rdd/dbfnsx/dbfnsx1.c b/src/rdd/dbfnsx/dbfnsx1.c index 29768bc8e5..45e92c8271 100644 --- a/src/rdd/dbfnsx/dbfnsx1.c +++ b/src/rdd/dbfnsx/dbfnsx1.c @@ -5249,11 +5249,11 @@ static void hb_nsxSortWritePage( LPNSXSORTINFO pSort ) hb_nsxSortSortPage( pSort ); - if( pSort->hTempFile == FS_ERROR ) + if( pSort->pTempFile == NULL ) { char szName[ HB_PATH_MAX ]; - pSort->hTempFile = hb_fsCreateTemp( NULL, NULL, FC_NORMAL, szName ); - if( pSort->hTempFile == FS_ERROR ) + pSort->pTempFile = hb_fileCreateTemp( NULL, NULL, FC_NORMAL, szName ); + if( pSort->pTempFile == NULL ) hb_nsxErrorRT( pSort->pTag->pIndex->pArea, EG_CREATE, EDBF_CREATE_TEMP, szName, hb_fsError(), 0, NULL ); else @@ -5261,10 +5261,11 @@ static void hb_nsxSortWritePage( LPNSXSORTINFO pSort ) } pSort->pSwapPage[ pSort->ulCurPage ].ulKeys = pSort->ulKeys; - if( pSort->hTempFile != FS_ERROR ) + if( pSort->pTempFile != NULL ) { - pSort->pSwapPage[ pSort->ulCurPage ].nOffset = hb_fsSeekLarge( pSort->hTempFile, 0, FS_END ); - if( hb_fsWriteLarge( pSort->hTempFile, pSort->pStartKey, nSize ) != nSize ) + pSort->pSwapPage[ pSort->ulCurPage ].nOffset = hb_fileSize( pSort->pTempFile ); + if( hb_fileWriteAt( pSort->pTempFile, pSort->pStartKey, + nSize, pSort->pSwapPage[ pSort->ulCurPage ].nOffset ) != nSize ) hb_nsxErrorRT( pSort->pTag->pIndex->pArea, EG_WRITE, EDBF_WRITE_TEMP, pSort->szTempFileName, hb_fsError(), 0, NULL ); } @@ -5284,9 +5285,9 @@ static void hb_nsxSortGetPageKey( LPNSXSORTINFO pSort, HB_ULONG ulPage, HB_ULONG ulKeys = HB_MIN( pSort->ulPgKeys, pSort->pSwapPage[ ulPage ].ulKeys ); HB_SIZE nSize = ulKeys * ( iLen + 4 ); - if( pSort->hTempFile != FS_ERROR && - ( hb_fsSeekLarge( pSort->hTempFile, pSort->pSwapPage[ ulPage ].nOffset, FS_SET ) != pSort->pSwapPage[ ulPage ].nOffset || - hb_fsReadLarge( pSort->hTempFile, pSort->pSwapPage[ ulPage ].pKeyPool, nSize ) != nSize ) ) + if( pSort->pTempFile != NULL && + hb_fileReadAt( pSort->pTempFile, pSort->pSwapPage[ ulPage ].pKeyPool, + nSize, pSort->pSwapPage[ ulPage ].nOffset ) != nSize ) { hb_nsxErrorRT( pSort->pTag->pIndex->pArea, EG_READ, EDBF_READ_TEMP, pSort->szTempFileName, hb_fsError(), 0, NULL ); @@ -5498,7 +5499,7 @@ static LPNSXSORTINFO hb_nsxSortNew( LPTAGINFO pTag, HB_ULONG ulRecCount ) } pSort->pTag = pTag; - pSort->hTempFile = FS_ERROR; + pSort->pTempFile = NULL; pSort->keyLen = iLen; pSort->trailChar = pTag->TrailChar; pSort->recSize = hb_nsxGetRecSize( ulRecCount ); @@ -5518,14 +5519,14 @@ static LPNSXSORTINFO hb_nsxSortNew( LPTAGINFO pTag, HB_ULONG ulRecCount ) static void hb_nsxSortFree( LPNSXSORTINFO pSort, HB_BOOL fFull ) { - if( pSort->hTempFile != FS_ERROR ) + if( pSort->pTempFile != NULL ) { - hb_fsClose( pSort->hTempFile ); - pSort->hTempFile = FS_ERROR; + hb_fileClose( pSort->pTempFile ); + pSort->pTempFile = NULL; } if( pSort->szTempFileName ) { - hb_fsDelete( pSort->szTempFileName ); + hb_fileDelete( pSort->szTempFileName ); hb_xfree( pSort->szTempFileName ); pSort->szTempFileName = NULL; } diff --git a/src/rdd/dbfntx/dbfntx1.c b/src/rdd/dbfntx/dbfntx1.c index 0d2084b8f8..fa1e0a6635 100644 --- a/src/rdd/dbfntx/dbfntx1.c +++ b/src/rdd/dbfntx/dbfntx1.c @@ -4817,11 +4817,11 @@ static void hb_ntxSortWritePage( LPNTXSORTINFO pSort ) hb_ntxSortSortPage( pSort ); - if( pSort->hTempFile == FS_ERROR ) + if( pSort->pTempFile == NULL ) { char szName[ HB_PATH_MAX ]; - pSort->hTempFile = hb_fsCreateTemp( NULL, NULL, FC_NORMAL, szName ); - if( pSort->hTempFile == FS_ERROR ) + pSort->pTempFile = hb_fileCreateTemp( NULL, NULL, FC_NORMAL, szName ); + if( pSort->pTempFile == NULL ) hb_ntxErrorRT( pSort->pTag->Owner->Owner, EG_CREATE, EDBF_CREATE_TEMP, szName, hb_fsError(), 0, NULL ); else @@ -4829,10 +4829,11 @@ static void hb_ntxSortWritePage( LPNTXSORTINFO pSort ) } pSort->pSwapPage[ pSort->ulCurPage ].ulKeys = pSort->ulKeys; - if( pSort->hTempFile != FS_ERROR ) + if( pSort->pTempFile != NULL ) { - pSort->pSwapPage[ pSort->ulCurPage ].nOffset = hb_fsSeekLarge( pSort->hTempFile, 0, FS_END ); - if( hb_fsWriteLarge( pSort->hTempFile, pSort->pStartKey, nSize ) != nSize ) + pSort->pSwapPage[ pSort->ulCurPage ].nOffset = hb_fileSize( pSort->pTempFile ); + if( hb_fileWriteAt( pSort->pTempFile, pSort->pStartKey, nSize, + pSort->pSwapPage[ pSort->ulCurPage ].nOffset ) != nSize ) hb_ntxErrorRT( pSort->pTag->Owner->Owner, EG_WRITE, EDBF_WRITE_TEMP, pSort->szTempFileName, hb_fsError(), 0, NULL ); } @@ -4852,9 +4853,9 @@ static void hb_ntxSortGetPageKey( LPNTXSORTINFO pSort, HB_ULONG ulPage, HB_ULONG ulKeys = HB_MIN( pSort->ulPgKeys, pSort->pSwapPage[ ulPage ].ulKeys ); HB_SIZE nSize = ulKeys * ( iLen + 4 ); - if( pSort->hTempFile != FS_ERROR && - ( hb_fsSeekLarge( pSort->hTempFile, pSort->pSwapPage[ ulPage ].nOffset, FS_SET ) != pSort->pSwapPage[ ulPage ].nOffset || - hb_fsReadLarge( pSort->hTempFile, pSort->pSwapPage[ ulPage ].pKeyPool, nSize ) != nSize ) ) + if( pSort->pTempFile != NULL && + hb_fileReadAt( pSort->pTempFile, pSort->pSwapPage[ ulPage ].pKeyPool, + nSize, pSort->pSwapPage[ ulPage ].nOffset ) != nSize ) { hb_ntxErrorRT( pSort->pTag->Owner->Owner, EG_READ, EDBF_READ_TEMP, pSort->szTempFileName, hb_fsError(), 0, NULL ); @@ -5078,7 +5079,7 @@ static LPNTXSORTINFO hb_ntxSortNew( LPTAGINFO pTag, HB_ULONG ulRecCount ) } pSort->pTag = pTag; - pSort->hTempFile = FS_ERROR; + pSort->pTempFile = NULL; pSort->keyLen = iLen; pSort->fUnique = pTag->UniqueKey; pSort->ulMaxKey = ulMax << 1; @@ -5096,14 +5097,14 @@ static LPNTXSORTINFO hb_ntxSortNew( LPTAGINFO pTag, HB_ULONG ulRecCount ) static void hb_ntxSortFree( LPNTXSORTINFO pSort, HB_BOOL fFull ) { - if( pSort->hTempFile != FS_ERROR ) + if( pSort->pTempFile != NULL ) { - hb_fsClose( pSort->hTempFile ); - pSort->hTempFile = FS_ERROR; + hb_fileClose( pSort->pTempFile ); + pSort->pTempFile = NULL; } if( pSort->szTempFileName ) { - hb_fsDelete( pSort->szTempFileName ); + hb_fileDelete( pSort->szTempFileName ); hb_xfree( pSort->szTempFileName ); pSort->szTempFileName = NULL; } diff --git a/src/rdd/dbsql.c b/src/rdd/dbsql.c index 17b6300801..443f7cbb72 100644 --- a/src/rdd/dbsql.c +++ b/src/rdd/dbsql.c @@ -62,7 +62,7 @@ #define HB_FILE_BUF_SIZE 0x10000 typedef struct _HB_FILEBUF { - HB_FHANDLE hFile; + PHB_FILE pFile; HB_BYTE * pBuf; HB_SIZE nSize; HB_SIZE nPos; @@ -73,7 +73,7 @@ static void hb_flushFBuffer( PHB_FILEBUF pFileBuf ) { if( pFileBuf->nPos > 0 ) { - hb_fsWriteLarge( pFileBuf->hFile, pFileBuf->pBuf, pFileBuf->nPos ); + hb_fileWrite( pFileBuf->pFile, pFileBuf->pBuf, pFileBuf->nPos, -1 ); pFileBuf->nPos = 0; } } @@ -115,11 +115,11 @@ static void hb_destroyFBuffer( PHB_FILEBUF pFileBuf ) hb_xfree( pFileBuf ); } -static PHB_FILEBUF hb_createFBuffer( HB_FHANDLE hFile, HB_SIZE nSize ) +static PHB_FILEBUF hb_createFBuffer( PHB_FILE pFile, HB_SIZE nSize ) { PHB_FILEBUF pFileBuf = ( PHB_FILEBUF ) hb_xgrab( sizeof( HB_FILEBUF ) ); - pFileBuf->hFile = hFile; + pFileBuf->pFile = pFile; pFileBuf->pBuf = ( HB_BYTE * ) hb_xgrab( nSize ); pFileBuf->nSize = nSize; pFileBuf->nPos = 0; @@ -236,7 +236,7 @@ static HB_ULONG hb_db2Sql( AREAP pArea, PHB_ITEM pFields, HB_MAXINT llNext, PHB_ITEM pWhile, PHB_ITEM pFor, const char * szDelim, const char * szSep, const char * szEsc, const char * szTable, - HB_FHANDLE hFile, HB_BOOL fInsert, HB_BOOL fRecno ) + PHB_FILE pFile, HB_BOOL fInsert, HB_BOOL fRecno ) { PHB_FILEBUF pFileBuf; HB_ULONG ulRecords = 0; @@ -254,7 +254,7 @@ static HB_ULONG hb_db2Sql( AREAP pArea, PHB_ITEM pFields, HB_MAXINT llNext, if( fInsert && szTable ) szInsert = hb_xstrcpy( NULL, "INSERT INTO ", szTable, " VALUES ( ", NULL ); - pFileBuf = hb_createFBuffer( hFile, HB_FILE_BUF_SIZE ); + pFileBuf = hb_createFBuffer( pFile, HB_FILE_BUF_SIZE ); pTmp = hb_itemNew( NULL ); while( llNext-- > 0 ) @@ -335,7 +335,7 @@ static HB_ULONG hb_db2Sql( AREAP pArea, PHB_ITEM pFields, HB_MAXINT llNext, hb_itemRelease( pTmp ); /* Writing EOF */ - /* hb_fsWrite( hFile, "\x1A", 1 ); */ + /* hb_fileWrite( pFile, "\x1A", 1, -1 ); */ return ulRecords; } @@ -362,8 +362,8 @@ HB_FUNC( __DBSQL ) const char * szDelim = hb_parcx( 14 ); const char * szEsc = hb_parcx( 15 ); HB_MAXINT llNext = HB_VMLONG_MAX; - HB_FHANDLE hFile; HB_ERRCODE errCode; + PHB_FILE pFile; if( ! szFileName ) hb_errRT_DBCMD( EG_ARG, EDBCMD_DBCMDBADPARAMETER, NULL, HB_ERR_FUNCNAME ); @@ -375,12 +375,12 @@ HB_FUNC( __DBSQL ) /* Try to create Dat file */ do { - hFile = hb_fsExtOpen( szFileName, NULL, - ( fAppend ? 0 : FXO_TRUNCATE ) | - FO_READWRITE | FO_EXCLUSIVE | - FXO_DEFAULTS | FXO_SHARELOCK, - NULL, pError ); - if( hFile == FS_ERROR ) + pFile = hb_fileExtOpen( szFileName, NULL, + ( fAppend ? 0 : FXO_TRUNCATE ) | + FO_READWRITE | FO_EXCLUSIVE | + FXO_DEFAULTS | FXO_SHARELOCK, + NULL, pError ); + if( pFile == NULL ) { if( ! pError ) { @@ -413,10 +413,10 @@ HB_FUNC( __DBSQL ) if( pError ) hb_itemRelease( pError ); - if( hFile != FS_ERROR ) + if( pFile != NULL ) { if( fAppend ) - hb_fsSeekLarge( hFile, 0, FS_END ); + hb_fileSeek( pFile, 0, FS_END ); errCode = HB_SUCCESS; if( pRecord ) @@ -436,9 +436,9 @@ HB_FUNC( __DBSQL ) { hb_retnint( hb_db2Sql( pArea, pFields, llNext, pWhile, pFor, szDelim, szSep, szEsc, - szTable, hFile, fInsert, fRecno ) ); + szTable, pFile, fInsert, fRecno ) ); } - hb_fsClose( hFile ); + hb_fileClose( pFile ); } } else diff --git a/src/rdd/hbdbsort.c b/src/rdd/hbdbsort.c index 7764dfae80..8a05d51c06 100644 --- a/src/rdd/hbdbsort.c +++ b/src/rdd/hbdbsort.c @@ -51,8 +51,8 @@ HB_BOOL hb_dbQSortInit( LPDBQUICKSORT pQuickSort, LPDBSORTINFO pSortInfo, HB_USHORT uiRecordLen ) { /* Create temp file */ - pQuickSort->hFile = hb_fsCreateTemp( NULL, NULL, FC_NORMAL, pQuickSort->szTempName ); - if( pQuickSort->hFile == FS_ERROR ) + pQuickSort->pFile = hb_fileCreateTemp( NULL, NULL, FC_NORMAL, pQuickSort->szTempName ); + if( pQuickSort->pFile == NULL ) return HB_FALSE; /* Alloc buffers */ @@ -72,8 +72,8 @@ HB_BOOL hb_dbQSortInit( LPDBQUICKSORT pQuickSort, LPDBSORTINFO pSortInfo, HB_USH void hb_dbQSortExit( LPDBQUICKSORT pQuickSort ) { /* Close and delete temp file */ - hb_fsClose( pQuickSort->hFile ); - hb_fsDelete( pQuickSort->szTempName ); + hb_fileClose( pQuickSort->pFile ); + hb_fileDelete( pQuickSort->szTempName ); /* Free buffers */ hb_xfree( pQuickSort->pBuffer ); @@ -89,7 +89,7 @@ HB_BOOL hb_dbQSortAdvance( LPDBQUICKSORT pQuickSort, HB_USHORT uiCount ) /* Write chunk */ uiSize = uiCount * pQuickSort->uiRecordLen; - return hb_fsWrite( pQuickSort->hFile, pQuickSort->pBuffer, uiSize ) == uiSize; + return hb_fileWrite( pQuickSort->pFile, pQuickSort->pBuffer, uiSize, -1 ) == uiSize; } static HB_BOOL hb_dbQSortIsLess( LPDBQUICKSORT pQuickSort, HB_ULONG ulRecNo1, HB_ULONG ulRecNo2 ) @@ -103,10 +103,10 @@ static HB_BOOL hb_dbQSortIsLess( LPDBQUICKSORT pQuickSort, HB_ULONG ulRecNo1, HB pArea = ( DBFAREAP ) pQuickSort->pSortInfo->dbtri.lpaSource; /* Read records */ - hb_fsSeek( pQuickSort->hFile, ( ulRecNo1 - 1 ) * pQuickSort->uiRecordLen, FS_SET ); - hb_fsRead( pQuickSort->hFile, pQuickSort->pSwapBufferA, pQuickSort->uiRecordLen ); - hb_fsSeek( pQuickSort->hFile, ( ulRecNo2 - 1 ) * pQuickSort->uiRecordLen, FS_SET ); - hb_fsRead( pQuickSort->hFile, pQuickSort->pSwapBufferB, pQuickSort->uiRecordLen ); + hb_fileReadAt( pQuickSort->pFile, pQuickSort->pSwapBufferA, + pQuickSort->uiRecordLen, ( ulRecNo1 - 1 ) * pQuickSort->uiRecordLen ); + hb_fileReadAt( pQuickSort->pFile, pQuickSort->pSwapBufferB, + pQuickSort->uiRecordLen, ( ulRecNo2 - 1 ) * pQuickSort->uiRecordLen ); /* Compare fields */ for( uiCount = 0; uiCount < pQuickSort->pSortInfo->uiItemCount; uiCount++ ) @@ -167,14 +167,14 @@ static HB_BOOL hb_dbQSortIsLess( LPDBQUICKSORT pQuickSort, HB_ULONG ulRecNo1, HB static void hb_dbQSortSwap( LPDBQUICKSORT pQuickSort, HB_ULONG ulRecNo1, HB_ULONG ulRecNo2 ) { /* Swap records */ - hb_fsSeek( pQuickSort->hFile, ( ulRecNo1 - 1 ) * pQuickSort->uiRecordLen, FS_SET ); - hb_fsRead( pQuickSort->hFile, pQuickSort->pSwapBufferA, pQuickSort->uiRecordLen ); - hb_fsSeek( pQuickSort->hFile, ( ulRecNo2 - 1 ) * pQuickSort->uiRecordLen, FS_SET ); - hb_fsRead( pQuickSort->hFile, pQuickSort->pSwapBufferB, pQuickSort->uiRecordLen ); - hb_fsSeek( pQuickSort->hFile, ( ulRecNo1 - 1 ) * pQuickSort->uiRecordLen, FS_SET ); - hb_fsWrite( pQuickSort->hFile, pQuickSort->pSwapBufferB, pQuickSort->uiRecordLen ); - hb_fsSeek( pQuickSort->hFile, ( ulRecNo2 - 1 ) * pQuickSort->uiRecordLen, FS_SET ); - hb_fsWrite( pQuickSort->hFile, pQuickSort->pSwapBufferA, pQuickSort->uiRecordLen ); + hb_fileReadAt( pQuickSort->pFile, pQuickSort->pSwapBufferA, + pQuickSort->uiRecordLen, ( ulRecNo1 - 1 ) * pQuickSort->uiRecordLen ); + hb_fileReadAt( pQuickSort->pFile, pQuickSort->pSwapBufferB, + pQuickSort->uiRecordLen, ( ulRecNo2 - 1 ) * pQuickSort->uiRecordLen ); + hb_fileWriteAt( pQuickSort->pFile, pQuickSort->pSwapBufferB, + pQuickSort->uiRecordLen, ( ulRecNo1 - 1 ) * pQuickSort->uiRecordLen ); + hb_fileWriteAt( pQuickSort->pFile, pQuickSort->pSwapBufferA, + pQuickSort->uiRecordLen, ( ulRecNo2 - 1 ) * pQuickSort->uiRecordLen ); } static void hb_dbQSortDo( LPDBQUICKSORT pQuickSort, HB_ULONG ulFirst, HB_ULONG ulLast ) @@ -223,16 +223,16 @@ void hb_dbQSortComplete( LPDBQUICKSORT pQuickSort ) HB_ULONG ulRecCount; AREAP pArea; - ulRecCount = hb_fsSeek( pQuickSort->hFile, 0, FS_END ) / pQuickSort->uiRecordLen; + ulRecCount = hb_fileSize( pQuickSort->pFile ) / pQuickSort->uiRecordLen; if( ulRecCount >= 1 ) { hb_dbQSortDo( pQuickSort, 1, ulRecCount ); pArea = pQuickSort->pSortInfo->dbtri.lpaDest; - hb_fsSeek( pQuickSort->hFile, 0, FS_SET ); + hb_fileSeek( pQuickSort->pFile, 0, FS_SET ); while( ulRecCount-- > 0 ) { /* Read sorted record */ - hb_fsRead( pQuickSort->hFile, pQuickSort->pSwapBufferA, pQuickSort->uiRecordLen ); + hb_fileRead( pQuickSort->pFile, pQuickSort->pSwapBufferA, pQuickSort->uiRecordLen, -1 ); /* Remove deleted flag */ pQuickSort->pSwapBufferA[ 0 ] = ' '; diff --git a/src/rdd/hbsix/sxcompr.c b/src/rdd/hbsix/sxcompr.c index d99b316dcc..76d65a2a43 100644 --- a/src/rdd/hbsix/sxcompr.c +++ b/src/rdd/hbsix/sxcompr.c @@ -168,14 +168,14 @@ typedef struct _HB_LZSSX_COMPR { - HB_FHANDLE hInput; + PHB_FILE pInput; HB_BYTE * inBuffer; HB_SIZE inBuffSize; HB_SIZE inBuffPos; HB_SIZE inBuffRead; HB_BOOL fInFree; - HB_FHANDLE hOutput; + PHB_FILE pOutput; HB_BYTE * outBuffer; HB_SIZE outBuffSize; HB_SIZE outBuffPos; @@ -207,27 +207,27 @@ static void hb_LZSSxExit( PHB_LZSSX_COMPR pCompr ) } static PHB_LZSSX_COMPR hb_LZSSxInit( - HB_FHANDLE hInput, HB_BYTE * pSrcBuf, HB_SIZE nSrcBuf, - HB_FHANDLE hOutput, HB_BYTE * pDstBuf, HB_SIZE nDstBuf ) + PHB_FILE pInput, HB_BYTE * pSrcBuf, HB_SIZE nSrcBuf, + PHB_FILE pOutput, HB_BYTE * pDstBuf, HB_SIZE nDstBuf ) { PHB_LZSSX_COMPR pCompr = ( PHB_LZSSX_COMPR ) hb_xgrab( sizeof( HB_LZSSX_COMPR ) ); - if( hInput != FS_ERROR && nSrcBuf == 0 ) + if( pInput != NULL && nSrcBuf == 0 ) nSrcBuf = LZSS_IOBUFLEN; - if( hOutput != FS_ERROR && nDstBuf == 0 ) + if( pOutput != NULL && nDstBuf == 0 ) nDstBuf = LZSS_IOBUFLEN; - pCompr->hInput = hInput; + pCompr->pInput = pInput; pCompr->inBuffer = pSrcBuf; pCompr->inBuffSize = nSrcBuf; pCompr->inBuffPos = 0; - pCompr->inBuffRead = ( hInput == FS_ERROR ) ? nSrcBuf : 0; - pCompr->fInFree = ( hInput != FS_ERROR && pSrcBuf == NULL ); - pCompr->hOutput = hOutput; + pCompr->inBuffRead = ( pInput == NULL ) ? nSrcBuf : 0; + pCompr->fInFree = ( pInput != NULL && pSrcBuf == NULL ); + pCompr->pOutput = pOutput; pCompr->outBuffer = pDstBuf; pCompr->outBuffSize = nDstBuf; pCompr->outBuffPos = 0; - pCompr->fOutFree = ( hOutput != FS_ERROR && pDstBuf == NULL ); + pCompr->fOutFree = ( pOutput != NULL && pDstBuf == NULL ); pCompr->ulMaxSize = 0; pCompr->ulOutSize = 0; @@ -249,10 +249,10 @@ static PHB_LZSSX_COMPR hb_LZSSxInit( static HB_BOOL hb_LZSSxFlush( PHB_LZSSX_COMPR pCompr ) { - if( pCompr->fResult && pCompr->hOutput != FS_ERROR ) + if( pCompr->fResult && pCompr->pOutput != NULL ) { - if( hb_fsWriteLarge( pCompr->hOutput, pCompr->outBuffer, - pCompr->outBuffPos ) != pCompr->outBuffPos ) + if( hb_fileWrite( pCompr->pOutput, pCompr->outBuffer, + pCompr->outBuffPos, -1 ) != pCompr->outBuffPos ) { pCompr->fResult = HB_FALSE; } @@ -285,10 +285,10 @@ static int hb_LZSSxRead( PHB_LZSSX_COMPR pCompr ) if( pCompr->inBuffPos < pCompr->inBuffRead ) return ( HB_UCHAR ) pCompr->inBuffer[ pCompr->inBuffPos++ ]; - if( pCompr->hInput != FS_ERROR ) + if( pCompr->pInput != NULL ) { - pCompr->inBuffRead = hb_fsReadLarge( pCompr->hInput, pCompr->inBuffer, - pCompr->inBuffSize ); + pCompr->inBuffRead = hb_fileRead( pCompr->pInput, pCompr->inBuffer, + pCompr->inBuffSize, -1 ); pCompr->inBuffPos = 0; if( pCompr->inBuffPos < pCompr->inBuffRead ) return ( HB_UCHAR ) pCompr->inBuffer[ pCompr->inBuffPos++ ]; @@ -563,8 +563,8 @@ HB_BOOL hb_LZSSxCompressMem( const char * pSrcBuf, HB_SIZE nSrcLen, PHB_LZSSX_COMPR pCompr; HB_SIZE nSize; - pCompr = hb_LZSSxInit( FS_ERROR, ( HB_BYTE * ) pSrcBuf, nSrcLen, - FS_ERROR, ( HB_BYTE * ) pDstBuf, nDstLen ); + pCompr = hb_LZSSxInit( NULL, ( HB_BYTE * ) pSrcBuf, nSrcLen, + NULL, ( HB_BYTE * ) pDstBuf, nDstLen ); nSize = hb_LZSSxEncode( pCompr ); hb_LZSSxExit( pCompr ); if( pnSize ) @@ -578,19 +578,19 @@ HB_BOOL hb_LZSSxDecompressMem( const char * pSrcBuf, HB_SIZE nSrcLen, PHB_LZSSX_COMPR pCompr; HB_BOOL fResult; - pCompr = hb_LZSSxInit( FS_ERROR, ( HB_BYTE * ) pSrcBuf, nSrcLen, - FS_ERROR, ( HB_BYTE * ) pDstBuf, nDstLen ); + pCompr = hb_LZSSxInit( NULL, ( HB_BYTE * ) pSrcBuf, nSrcLen, + NULL, ( HB_BYTE * ) pDstBuf, nDstLen ); fResult = hb_LZSSxDecode( pCompr ); hb_LZSSxExit( pCompr ); return fResult; } -HB_BOOL hb_LZSSxCompressFile( HB_FHANDLE hInput, HB_FHANDLE hOutput, HB_SIZE * pnSize ) +HB_BOOL hb_LZSSxCompressFile( PHB_FILE pInput, PHB_FILE pOutput, HB_SIZE * pnSize ) { PHB_LZSSX_COMPR pCompr; HB_SIZE nSize; - pCompr = hb_LZSSxInit( hInput, NULL, 0, hOutput, NULL, 0 ); + pCompr = hb_LZSSxInit( pInput, NULL, 0, pOutput, NULL, 0 ); nSize = hb_LZSSxEncode( pCompr ); hb_LZSSxExit( pCompr ); if( pnSize ) @@ -598,12 +598,12 @@ HB_BOOL hb_LZSSxCompressFile( HB_FHANDLE hInput, HB_FHANDLE hOutput, HB_SIZE * p return nSize != ( HB_SIZE ) -1; } -HB_BOOL hb_LZSSxDecompressFile( HB_FHANDLE hInput, HB_FHANDLE hOutput ) +HB_BOOL hb_LZSSxDecompressFile( PHB_FILE pInput, PHB_FILE pOutput ) { PHB_LZSSX_COMPR pCompr; HB_BOOL fResult; - pCompr = hb_LZSSxInit( hInput, NULL, 0, hOutput, NULL, 0 ); + pCompr = hb_LZSSxInit( pInput, NULL, 0, pOutput, NULL, 0 ); fResult = hb_LZSSxDecode( pCompr ); hb_LZSSxExit( pCompr ); return fResult; @@ -612,35 +612,35 @@ HB_BOOL hb_LZSSxDecompressFile( HB_FHANDLE hInput, HB_FHANDLE hOutput ) HB_FUNC( SX_FCOMPRESS ) { HB_BOOL fRet = HB_FALSE; - HB_FHANDLE hInput, hOutput; + PHB_FILE pInput, pOutput; const char * szSource = hb_parc( 1 ), * szDestin = hb_parc( 2 ); HB_BYTE buf[ 4 ]; HB_SIZE nSize; if( szSource && *szSource && szDestin && *szDestin ) { - hInput = hb_fsExtOpen( szSource, NULL, FO_READ | FO_DENYNONE | - FXO_DEFAULTS | FXO_SHARELOCK, NULL, NULL ); - if( hInput != FS_ERROR ) + pInput = hb_fileExtOpen( szSource, NULL, FO_READ | FO_DENYNONE | + FXO_DEFAULTS | FXO_SHARELOCK, NULL, NULL ); + if( pInput != NULL ) { - hOutput = hb_fsExtOpen( szDestin, NULL, FO_READWRITE | - FO_EXCLUSIVE | FXO_TRUNCATE | - FXO_DEFAULTS | FXO_SHARELOCK, NULL, NULL ); - if( hOutput != FS_ERROR ) + pOutput = hb_fileExtOpen( szDestin, NULL, FO_READWRITE | + FO_EXCLUSIVE | FXO_TRUNCATE | + FXO_DEFAULTS | FXO_SHARELOCK, NULL, NULL ); + if( pOutput != NULL ) { /* store uncompressed file size in first 4 bytes of destination * file in little endian order - for SIX3 compatibility */ - nSize = hb_fsSeek( hInput, 0, FS_END ); - if( hb_fsSeek( hInput, 0, FS_SET ) == 0 ) + nSize = hb_fileSize( pInput ); + if( hb_fileSeek( pInput, 0, FS_SET ) == 0 ) { HB_PUT_LE_UINT32( buf, nSize ); - if( hb_fsWrite( hOutput, buf, 4 ) == 4 ) - fRet = hb_LZSSxCompressFile( hInput, hOutput, NULL ); + if( hb_fileWrite( pOutput, buf, 4, -1 ) == 4 ) + fRet = hb_LZSSxCompressFile( pInput, pOutput, NULL ); } - hb_fsClose( hOutput ); + hb_fileClose( pOutput ); } - hb_fsClose( hInput ); + hb_fileClose( pInput ); } } hb_retl( fRet ); @@ -649,26 +649,26 @@ HB_FUNC( SX_FCOMPRESS ) HB_FUNC( SX_FDECOMPRESS ) { HB_BOOL fRet = HB_FALSE; - HB_FHANDLE hInput, hOutput; + PHB_FILE pInput, pOutput; const char * szSource = hb_parc( 1 ), * szDestin = hb_parc( 2 ); if( szSource && *szSource && szDestin && *szDestin ) { - hInput = hb_fsExtOpen( szSource, NULL, FO_READ | FO_DENYNONE | - FXO_DEFAULTS | FXO_SHARELOCK, NULL, NULL ); - if( hInput != FS_ERROR ) + pInput = hb_fileExtOpen( szSource, NULL, FO_READ | FO_DENYNONE | + FXO_DEFAULTS | FXO_SHARELOCK, NULL, NULL ); + if( pInput != NULL ) { - hOutput = hb_fsExtOpen( szDestin, NULL, FO_READWRITE | - FO_EXCLUSIVE | FXO_TRUNCATE | - FXO_DEFAULTS | FXO_SHARELOCK, NULL, NULL ); - if( hOutput != FS_ERROR ) + pOutput = hb_fileExtOpen( szDestin, NULL, FO_READWRITE | + FO_EXCLUSIVE | FXO_TRUNCATE | + FXO_DEFAULTS | FXO_SHARELOCK, NULL, NULL ); + if( pOutput != NULL ) { /* skip the four bytes with original file length */ - if( hb_fsSeek( hInput, 4, FS_SET ) == 4 ) - fRet = hb_LZSSxDecompressFile( hInput, hOutput ); - hb_fsClose( hOutput ); + if( hb_fileSeek( pInput, 4, FS_SET ) == 4 ) + fRet = hb_LZSSxDecompressFile( pInput, pOutput ); + hb_fileClose( pOutput ); } - hb_fsClose( hInput ); + hb_fileClose( pInput ); } } hb_retl( fRet ); diff --git a/src/rdd/hbsix/sxsem.c b/src/rdd/hbsix/sxsem.c index 9817e976c2..d0a856b5ea 100644 --- a/src/rdd/hbsix/sxsem.c +++ b/src/rdd/hbsix/sxsem.c @@ -71,6 +71,7 @@ static HB_BOOL hb_sxSemName( char * szFileName ) else { AREAP pArea = ( AREAP ) hb_rddGetCurrentWorkAreaPointer(); + if( pArea ) { DBORDERINFO pOrderInfo; @@ -96,25 +97,25 @@ static HB_BOOL hb_sxSemName( char * szFileName ) return fResult; } -static HB_FHANDLE hb_sxSemOpen( char * szFileName, HB_BOOL * pfNewFile ) +static PHB_FILE hb_sxSemOpen( char * szFileName, HB_BOOL * pfNewFile ) { - HB_FHANDLE hFile; + PHB_FILE pFile; int i = 0; do { - hFile = hb_fsExtOpen( szFileName, ".sem", - FO_READWRITE | FO_EXCLUSIVE | FXO_DEFAULTS | - FXO_SHARELOCK | FXO_COPYNAME, NULL, NULL ); - if( hFile != FS_ERROR ) + pFile = hb_fileExtOpen( szFileName, ".sem", + FO_READWRITE | FO_EXCLUSIVE | FXO_DEFAULTS | + FXO_SHARELOCK | FXO_COPYNAME, NULL, NULL ); + if( pFile != NULL ) break; if( pfNewFile ) { - hFile = hb_fsExtOpen( szFileName, ".sem", FXO_UNIQUE | - FO_READWRITE | FO_EXCLUSIVE | FXO_DEFAULTS | - FXO_SHARELOCK | FXO_COPYNAME, NULL, NULL ); - if( hFile != FS_ERROR ) + pFile = hb_fileExtOpen( szFileName, ".sem", FXO_UNIQUE | + FO_READWRITE | FO_EXCLUSIVE | FXO_DEFAULTS | + FXO_SHARELOCK | FXO_COPYNAME, NULL, NULL ); + if( pFile != NULL ) { *pfNewFile = HB_TRUE; break; @@ -131,7 +132,7 @@ static HB_FHANDLE hb_sxSemOpen( char * szFileName, HB_BOOL * pfNewFile ) } while( ++i < 25 ); - return hFile; + return pFile; } @@ -144,15 +145,15 @@ HB_FUNC( SX_MAKESEM ) if( hb_sxSemName( szFileName ) ) { - HB_FHANDLE hFile = hb_sxSemOpen( szFileName, &fNewFile ); - if( hFile != FS_ERROR ) + PHB_FILE pFile = hb_sxSemOpen( szFileName, &fNewFile ); + + if( pFile != NULL ) { if( fNewFile ) iUsers = 1; else { - hb_fsSeek( hFile, 0, FS_SET ); - if( hb_fsRead( hFile, buffer, 2 ) != 2 ) + if( hb_fileReadAt( pFile, buffer, 2, 0 ) != 2 ) fError = HB_TRUE; else iUsers = HB_GET_LE_INT16( buffer ) + 1; @@ -160,11 +161,10 @@ HB_FUNC( SX_MAKESEM ) if( ! fError ) { HB_PUT_LE_UINT16( buffer, iUsers ); - hb_fsSeek( hFile, 0, FS_SET ); - if( hb_fsWrite( hFile, buffer, 2 ) != 2 ) + if( hb_fileWriteAt( pFile, buffer, 2, 0 ) != 2 ) fError = HB_TRUE; } - hb_fsClose( hFile ); + hb_fileClose( pFile ); } } if( fError ) @@ -181,19 +181,19 @@ HB_FUNC( SX_KILLSEM ) if( hb_sxSemName( szFileName ) ) { - HB_FHANDLE hFile = hb_sxSemOpen( szFileName, NULL ); - if( hFile != FS_ERROR ) + PHB_FILE pFile = hb_sxSemOpen( szFileName, NULL ); + + if( pFile != NULL ) { - if( hb_fsRead( hFile, buffer, 2 ) == 2 ) + if( hb_fileReadAt( pFile, buffer, 2, 0 ) == 2 ) { iUsers = HB_GET_LE_INT16( buffer ) - 1; - hb_fsSeek( hFile, 0, FS_SET ); HB_PUT_LE_UINT16( buffer, iUsers ); - hb_fsWrite( hFile, buffer, 2 ); + hb_fileWriteAt( pFile, buffer, 2, 0 ); } - hb_fsClose( hFile ); + hb_fileClose( pFile ); if( iUsers == 0 ) - hb_fsDelete( szFileName ); + hb_fileDelete( szFileName ); } } hb_retni( iUsers ); @@ -203,14 +203,14 @@ HB_FUNC( SX_KILLSEM ) HB_FUNC( SX_ISSEM ) { char szFileName[ HB_PATH_MAX ]; - HB_FHANDLE hFile = FS_ERROR; + PHB_FILE pFile = NULL; if( hb_sxSemName( szFileName ) ) { - hFile = hb_sxSemOpen( szFileName, NULL ); - if( hFile != FS_ERROR ) - hb_fsClose( hFile ); + pFile = hb_sxSemOpen( szFileName, NULL ); + if( pFile != NULL ) + hb_fileClose( pFile ); } - hb_retl( hFile != FS_ERROR ); + hb_retl( pFile != NULL ); }