From b03d24742aea0f990b890bbd72cfd89eb648dfe0 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Thu, 8 Jul 2010 06:50:49 +0000 Subject: [PATCH] 2010-07-08 08:50 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * src/rtl/filesys.c * src/rtl/filebuf.c * src/rtl/fssize.c * HB_FOFFSET vars renamed to have n prefix (instead of ul and ll) * contrib/make.hbs ! Fixed output dirs in stdalone mode. * contrib/hbsqlit3/hbsqlit3.c * contrib/hbwin/olecore.c * contrib/hbwin/win_bmp.c * HB_SIZE vars renamed. * utils/hbmk2/hbmk2.prg % Never delete the same file twice in -hbimplib -clean mode. --- harbour/ChangeLog | 23 ++++++- harbour/contrib/hbsqlit3/hbsqlit3.c | 18 ++--- harbour/contrib/hbwin/olecore.c | 12 ++-- harbour/contrib/hbwin/win_bmp.c | 10 +-- harbour/contrib/make.hbs | 5 +- harbour/src/rtl/filebuf.c | 100 ++++++++++++++-------------- harbour/src/rtl/filesys.c | 62 ++++++++--------- harbour/src/rtl/fssize.c | 4 +- harbour/utils/hbmk2/hbmk2.prg | 92 +++++++++++++++---------- 9 files changed, 183 insertions(+), 143 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 9b2e9c53b0..b398ac6d1d 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,9 +16,26 @@ The license applies to all entries newer than 2009-04-28. */ +2010-07-08 08:50 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + * src/rtl/filesys.c + * src/rtl/filebuf.c + * src/rtl/fssize.c + * HB_FOFFSET vars renamed to have n prefix (instead of ul and ll) + + * contrib/make.hbs + ! Fixed output dirs in stdalone mode. + + * contrib/hbsqlit3/hbsqlit3.c + * contrib/hbwin/olecore.c + * contrib/hbwin/win_bmp.c + * HB_SIZE vars renamed. + + * utils/hbmk2/hbmk2.prg + % Never delete the same file twice in -hbimplib -clean mode. + 2010-07-07 23:20 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbide/hbide.prg - ! Fixed: no-show of source's contents when a panel was hosting + ! Fixed: no-show of source's contents when a panel was hosting only one source. Now source is visible loaded. 2010-07-07 18:44 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) @@ -26,8 +43,8 @@ * contrib/hbide/idesaveload.prg * contrib/hbide/idestylesheets.prg * contrib/hbide/setup.ui - + Implemented: application of constructed gradients to hbIDE components. - Now n number of gradients can be defined to be applied to + + Implemented: application of constructed gradients to hbIDE components. + Now n number of gradients can be defined to be applied to hbIDE. "Toggle Animation" respects these settings as well. provides you with necessary constructs to define and apply. Still the last applied is not saved: TODO. diff --git a/harbour/contrib/hbsqlit3/hbsqlit3.c b/harbour/contrib/hbsqlit3/hbsqlit3.c index 5b8122ce8e..981c0b53ab 100644 --- a/harbour/contrib/hbsqlit3/hbsqlit3.c +++ b/harbour/contrib/hbsqlit3/hbsqlit3.c @@ -1807,16 +1807,16 @@ HB_FUNC( SQLITE3_FILE_TO_BUFF ) if( handle != FS_ERROR ) { char *buffer; - HB_SIZE iSize; + HB_SIZE nSize; - iSize = hb_fsSeek( handle, 0, FS_END ); + nSize = hb_fsSeek( handle, 0, FS_END ); hb_fsSeek( handle, 0, FS_SET ); - buffer = ( char * ) hb_xgrab( iSize + 1 ); - iSize = hb_fsReadLarge( handle, buffer, iSize ); - buffer[iSize] = '\0'; + buffer = ( char * ) hb_xgrab( nSize + 1 ); + nSize = hb_fsReadLarge( handle, buffer, nSize ); + buffer[nSize] = '\0'; hb_fsClose( handle ); - hb_retclen_buffer( buffer, iSize ); + hb_retclen_buffer( buffer, nSize ); } else { @@ -1827,11 +1827,11 @@ HB_FUNC( SQLITE3_FILE_TO_BUFF ) HB_FUNC( SQLITE3_BUFF_TO_FILE ) { HB_FHANDLE handle = hb_fsCreate( hb_parcx(1), FC_NORMAL ); - HB_SIZE iSize = hb_parcsiz( 2 ) - 1; + HB_SIZE nSize = hb_parcsiz( 2 ) - 1; - if( handle != FS_ERROR && iSize > 0 ) + if( handle != FS_ERROR && nSize > 0 ) { - hb_retni( hb_fsWriteLarge(handle, hb_parcx(2), iSize) == iSize ? 0 : -1 ); + hb_retni( hb_fsWriteLarge( handle, hb_parcx(2), nSize ) == nSize ? 0 : -1 ); hb_fsClose( handle ); } else diff --git a/harbour/contrib/hbwin/olecore.c b/harbour/contrib/hbwin/olecore.c index 17902fd8fa..8fe5bfe417 100644 --- a/harbour/contrib/hbwin/olecore.c +++ b/harbour/contrib/hbwin/olecore.c @@ -480,12 +480,12 @@ static void hb_oleItemToVariantRef( VARIANT* pVariant, PHB_ITEM pItem, { SAFEARRAY* pSafeArray; SAFEARRAYBOUND sabound[ 1 ]; - HB_SIZE ul, ulLen; + HB_SIZE n, nLen; - ulLen = hb_arrayLen( pItem ); + nLen = hb_arrayLen( pItem ); sabound[ 0 ].lLbound = 0; - sabound[ 0 ].cElements = ( long ) ulLen; + sabound[ 0 ].cElements = ( long ) nLen; pSafeArray = SafeArrayCreate( VT_VARIANT, 1, sabound ); pVariant->n1.n2.vt = VT_VARIANT | VT_ARRAY; @@ -496,14 +496,14 @@ static void hb_oleItemToVariantRef( VARIANT* pVariant, PHB_ITEM pItem, pVarRef->n1.n2.n3.pparray = &pVariant->n1.n2.n3.parray; } - for( ul = 0; ul < ulLen; ul++ ) + for( n = 0; n < nLen; n++ ) { VARIANT vItem; long lIndex[ 1 ]; VariantInit( &vItem ); - hb_oleItemToVariantRef( &vItem, hb_arrayGetItemPtr( pItem, ul + 1 ), NULL, pObjFunc ); - lIndex[ 0 ] = ( long ) ul; + hb_oleItemToVariantRef( &vItem, hb_arrayGetItemPtr( pItem, n + 1 ), NULL, pObjFunc ); + lIndex[ 0 ] = ( long ) n; SafeArrayPutElement( pSafeArray, lIndex, &vItem ); VariantClear( &vItem ); } diff --git a/harbour/contrib/hbwin/win_bmp.c b/harbour/contrib/hbwin/win_bmp.c index 0abdca1ace..130a95f56b 100644 --- a/harbour/contrib/hbwin/win_bmp.c +++ b/harbour/contrib/hbwin/win_bmp.c @@ -100,19 +100,19 @@ HB_FUNC( WIN_LOADBITMAPFILE ) if( fhnd != FS_ERROR ) { - HB_SIZE ulSize = hb_fsSeek( fhnd, 0, FS_END ); + HB_SIZE nSize = hb_fsSeek( fhnd, 0, FS_END ); /* TOFIX: No check is done on read data from disk which is a large security hole and may cause GPF even in simple error cases, like invalid file content. [vszakats] */ - if( ulSize > 2 && ulSize <= ( 32 * 1024 * 1024 ) ) + if( nSize > 2 && nSize <= ( 32 * 1024 * 1024 ) ) { - void * pbmfh = hb_xgrab( ulSize ); + void * pbmfh = hb_xgrab( nSize ); hb_fsSeek( fhnd, 0, FS_SET ); - if( hb_fsReadLarge( fhnd, pbmfh, ulSize ) == ulSize && hbwin_bitmapType( pbmfh, ulSize ) != HB_WIN_BITMAP_UNKNOWN ) - hb_retclen_buffer( ( char * ) pbmfh, ulSize ); + if( hb_fsReadLarge( fhnd, pbmfh, nSize ) == nSize && hbwin_bitmapType( pbmfh, nSize ) != HB_WIN_BITMAP_UNKNOWN ) + hb_retclen_buffer( ( char * ) pbmfh, nSize ); else hb_xfree( pbmfh ); } diff --git a/harbour/contrib/make.hbs b/harbour/contrib/make.hbs index b1eeeaa677..52934f66f9 100755 --- a/harbour/contrib/make.hbs +++ b/harbour/contrib/make.hbs @@ -58,7 +58,7 @@ PROCEDURE Main( ... ) */ PROCEDURE StandAlone( ... ) LOCAL cBase := "" - LOCAL cRoot := "../" + LOCAL cRoot := StrTran( hb_DirBase(), hb_ps(), "/" ) + "../" LOCAL aParams LOCAL aLibs @@ -174,7 +174,7 @@ PROCEDURE StandAlone( ... ) ENDIF ENDIF - call_hbmk2( hb_DirBase() + cRoot + "bin" + hb_ps(), cBase + cProject, cTargetDir, cOptionsPre, cOptionsPost, .F. ) + call_hbmk2( cRoot + "bin" + hb_ps(), cBase + cProject, cTargetDir, cOptionsPre, cOptionsPost, .F. ) NEXT ErrorLevel( 0 ) @@ -193,6 +193,7 @@ PROCEDURE StandAlone( ... ) #4 install clean install install clean _ACT_INC_INST -inc -instpath= clean install clean _ACT_CLEAN -clean #5 all _ACT_INC -inc + */ PROCEDURE GNUMake( ... ) diff --git a/harbour/src/rtl/filebuf.c b/harbour/src/rtl/filebuf.c index b8be12d386..a4420e3a0f 100644 --- a/harbour/src/rtl/filebuf.c +++ b/harbour/src/rtl/filebuf.c @@ -166,7 +166,7 @@ static PHB_FILE hb_fileNew( HB_FHANDLE hFile, HB_BOOL fShared, HB_BOOL fReadonly return pFile; } -static HB_UINT hb_fileFindOffset( PHB_FILE pFile, HB_FOFFSET ulOffset ) +static HB_UINT hb_fileFindOffset( PHB_FILE pFile, HB_FOFFSET nOffset ) { HB_UINT uiFirst, uiLast, uiMiddle; @@ -176,9 +176,9 @@ static HB_UINT hb_fileFindOffset( PHB_FILE pFile, HB_FOFFSET ulOffset ) while( uiFirst < uiLast ) { - HB_FOFFSET ulEnd = pFile->pLocks[ uiMiddle ].start + - pFile->pLocks[ uiMiddle ].len; - if( ulEnd <= ulOffset ) + HB_FOFFSET nEnd = pFile->pLocks[ uiMiddle ].start + + pFile->pLocks[ uiMiddle ].len; + if( nEnd <= nOffset ) uiFirst = uiMiddle + 1; else uiLast = uiMiddle; @@ -189,7 +189,7 @@ static HB_UINT hb_fileFindOffset( PHB_FILE pFile, HB_FOFFSET ulOffset ) } static void hb_fileInsertLock( PHB_FILE pFile, HB_UINT uiPos, - HB_FOFFSET ulStart, HB_FOFFSET ulLen ) + HB_FOFFSET nStart, HB_FOFFSET nLen ) { if( pFile->uiLocks == pFile->uiSize ) { @@ -201,8 +201,8 @@ static void hb_fileInsertLock( PHB_FILE pFile, HB_UINT uiPos, } memmove( &pFile->pLocks[ uiPos + 1 ], &pFile->pLocks[ uiPos ], ( pFile->uiLocks - uiPos ) * sizeof( HB_FLOCK ) ); - pFile->pLocks[ uiPos ].start = ulStart; - pFile->pLocks[ uiPos ].len = ulLen; + pFile->pLocks[ uiPos ].start = nStart; + pFile->pLocks[ uiPos ].len = nLen; pFile->uiLocks++; } @@ -220,44 +220,44 @@ static void hb_fileDeleteLock( PHB_FILE pFile, HB_UINT uiPos ) } static HB_BOOL hb_fileSetLock( PHB_FILE pFile, HB_BOOL * pfLockFS, - HB_FOFFSET ulStart, HB_FOFFSET ulLen ) + HB_FOFFSET nStart, HB_FOFFSET nLen ) { HB_BOOL fLJoin, fRJoin; HB_UINT uiPos; - uiPos = hb_fileFindOffset( pFile, ulStart ); + uiPos = hb_fileFindOffset( pFile, nStart ); fLJoin = fRJoin = HB_FALSE; if( uiPos < pFile->uiLocks ) { PHB_FLOCK pLock = &pFile->pLocks[ uiPos ]; - if( ulStart + ulLen > pLock->start ) + if( nStart + nLen > pLock->start ) return HB_FALSE; - if( ulStart + ulLen == pLock->start ) + if( nStart + nLen == pLock->start ) fRJoin = HB_TRUE; } if( uiPos > 0 ) { PHB_FLOCK pLock = &pFile->pLocks[ uiPos - 1 ]; - if( pLock->start + pLock->len == ulStart ) + if( pLock->start + pLock->len == nStart ) fLJoin = HB_TRUE; } if( fLJoin ) { if( fRJoin ) { - pFile->pLocks[ uiPos - 1 ].len += ulLen + pFile->pLocks[ uiPos ].len; + pFile->pLocks[ uiPos - 1 ].len += nLen + pFile->pLocks[ uiPos ].len; hb_fileDeleteLock( pFile, uiPos ); } else - pFile->pLocks[ uiPos - 1 ].len += ulLen; + pFile->pLocks[ uiPos - 1 ].len += nLen; } else if( fRJoin ) { - pFile->pLocks[ uiPos ].start -= ulLen; - pFile->pLocks[ uiPos ].len += ulLen; + pFile->pLocks[ uiPos ].start -= nLen; + pFile->pLocks[ uiPos ].len += nLen; } else - hb_fileInsertLock( pFile, uiPos, ulStart, ulLen ); + hb_fileInsertLock( pFile, uiPos, nStart, nLen ); if( pFile->shared ) * pfLockFS = HB_TRUE; @@ -265,35 +265,35 @@ static HB_BOOL hb_fileSetLock( PHB_FILE pFile, HB_BOOL * pfLockFS, } static HB_BOOL hb_fileUnlock( PHB_FILE pFile, HB_BOOL * pfLockFS, - HB_FOFFSET ulStart, HB_FOFFSET ulLen ) + HB_FOFFSET nStart, HB_FOFFSET nLen ) { HB_BOOL fResult = HB_FALSE; HB_UINT uiPos; - uiPos = hb_fileFindOffset( pFile, ulStart ); + uiPos = hb_fileFindOffset( pFile, nStart ); if( uiPos < pFile->uiLocks ) { PHB_FLOCK pLock = &pFile->pLocks[ uiPos ]; - if( ulStart >= pLock->start && - ulStart + ulLen <= pLock->start + pLock->len ) + if( nStart >= pLock->start && + nStart + nLen <= pLock->start + pLock->len ) { - if( ulStart == pLock->start ) + if( nStart == pLock->start ) { - if( ulLen == pLock->len ) + if( nLen == pLock->len ) hb_fileDeleteLock( pFile, uiPos ); else { - pLock->start += ulLen; - pLock->len -= ulLen; + pLock->start += nLen; + pLock->len -= nLen; } } - else if( ulStart + ulLen == pLock->start + pLock->len ) - pLock->len -= ulLen; + else if( nStart + nLen == pLock->start + pLock->len ) + pLock->len -= nLen; else { - hb_fileInsertLock( pFile, uiPos + 1, ulStart + ulLen, - pLock->start + pLock->len - ulStart - ulLen ); - pLock->len = ulStart - pLock->start; + hb_fileInsertLock( pFile, uiPos + 1, nStart + nLen, + pLock->start + pLock->len - nStart - nLen ); + pLock->len = nStart - pLock->start; } if( pFile->shared ) * pfLockFS = HB_TRUE; @@ -479,7 +479,7 @@ static void s_fileClose( PHB_FILE pFile ) hb_fsClose( hFileRO ); } -static HB_BOOL s_fileLock( PHB_FILE pFile, HB_FOFFSET ulStart, HB_FOFFSET ulLen, +static HB_BOOL s_fileLock( PHB_FILE pFile, HB_FOFFSET nStart, HB_FOFFSET nLen, int iType ) { HB_BOOL fResult, fLockFS = HB_FALSE; @@ -487,25 +487,25 @@ static HB_BOOL s_fileLock( PHB_FILE pFile, HB_FOFFSET ulStart, HB_FOFFSET ulLen, if( ( iType & FL_MASK ) == FL_UNLOCK ) { hb_threadEnterCriticalSection( &s_fileMtx ); - fResult = hb_fileUnlock( pFile, &fLockFS, ulStart, ulLen ); + fResult = hb_fileUnlock( pFile, &fLockFS, nStart, nLen ); hb_threadLeaveCriticalSection( &s_fileMtx ); if( fLockFS ) - hb_fsLockLarge( pFile->hFile, ulStart, ulLen, ( HB_USHORT ) iType ); + hb_fsLockLarge( pFile->hFile, nStart, nLen, ( HB_USHORT ) iType ); else hb_fsSetError( fResult ? 0 : 33 ); } else { hb_threadEnterCriticalSection( &s_fileMtx ); - fResult = hb_fileSetLock( pFile, &fLockFS, ulStart, ulLen ); + fResult = hb_fileSetLock( pFile, &fLockFS, nStart, nLen ); hb_threadLeaveCriticalSection( &s_fileMtx ); if( fLockFS ) { - fResult = hb_fsLockLarge( pFile->hFile, ulStart, ulLen, ( HB_USHORT ) iType ); + fResult = hb_fsLockLarge( pFile->hFile, nStart, nLen, ( HB_USHORT ) iType ); if( !fResult ) { hb_threadEnterCriticalSection( &s_fileMtx ); - hb_fileUnlock( pFile, &fLockFS, ulStart, ulLen ); + hb_fileUnlock( pFile, &fLockFS, nStart, nLen ); hb_threadLeaveCriticalSection( &s_fileMtx ); } } @@ -517,20 +517,20 @@ static HB_BOOL s_fileLock( PHB_FILE pFile, HB_FOFFSET ulStart, HB_FOFFSET ulLen, } static HB_SIZE s_fileReadAt( PHB_FILE pFile, void * buffer, HB_SIZE nSize, - HB_FOFFSET llOffset ) + HB_FOFFSET nOffset ) { - return hb_fsReadAt( pFile->hFile, buffer, nSize, llOffset ); + return hb_fsReadAt( pFile->hFile, buffer, nSize, nOffset ); } static HB_SIZE s_fileWriteAt( PHB_FILE pFile, const void * buffer, HB_SIZE nSize, - HB_FOFFSET llOffset ) + HB_FOFFSET nOffset ) { - return hb_fsWriteAt( pFile->hFile, buffer, nSize, llOffset ); + return hb_fsWriteAt( pFile->hFile, buffer, nSize, nOffset ); } -static HB_BOOL s_fileTruncAt( PHB_FILE pFile, HB_FOFFSET llOffset ) +static HB_BOOL s_fileTruncAt( PHB_FILE pFile, HB_FOFFSET nOffset ) { - return hb_fsTruncAt( pFile->hFile, llOffset ); + return hb_fsTruncAt( pFile->hFile, nOffset ); } static HB_FOFFSET s_fileSize( PHB_FILE pFile ) @@ -663,27 +663,27 @@ void hb_fileClose( PHB_FILE pFile ) pFile->pFuncs->Close( pFile ); } -HB_BOOL hb_fileLock( PHB_FILE pFile, HB_FOFFSET ulStart, HB_FOFFSET ulLen, +HB_BOOL hb_fileLock( PHB_FILE pFile, HB_FOFFSET nStart, HB_FOFFSET nLen, int iType ) { - return pFile->pFuncs->Lock( pFile, ulStart, ulLen, iType ); + return pFile->pFuncs->Lock( pFile, nStart, nLen, iType ); } HB_SIZE hb_fileReadAt( PHB_FILE pFile, void * buffer, HB_SIZE nSize, - HB_FOFFSET llOffset ) + HB_FOFFSET nOffset ) { - return pFile->pFuncs->ReadAt( pFile, buffer, nSize, llOffset ); + return pFile->pFuncs->ReadAt( pFile, buffer, nSize, nOffset ); } HB_SIZE hb_fileWriteAt( PHB_FILE pFile, const void * buffer, HB_SIZE nSize, - HB_FOFFSET llOffset ) + HB_FOFFSET nOffset ) { - return pFile->pFuncs->WriteAt( pFile, buffer, nSize, llOffset ); + return pFile->pFuncs->WriteAt( pFile, buffer, nSize, nOffset ); } -HB_BOOL hb_fileTruncAt( PHB_FILE pFile, HB_FOFFSET llOffset ) +HB_BOOL hb_fileTruncAt( PHB_FILE pFile, HB_FOFFSET nOffset ) { - return pFile->pFuncs->TruncAt( pFile, llOffset ); + return pFile->pFuncs->TruncAt( pFile, nOffset ); } HB_FOFFSET hb_fileSize( PHB_FILE pFile ) diff --git a/harbour/src/rtl/filesys.c b/harbour/src/rtl/filesys.c index 17645d2c0e..303eb4c35e 100644 --- a/harbour/src/rtl/filesys.c +++ b/harbour/src/rtl/filesys.c @@ -1785,14 +1785,14 @@ HB_SIZE hb_fsReadAt( HB_FHANDLE hFileHandle, void * pBuff, HB_SIZE nCount, HB_FO } else { - HB_FOFFSET llPos; + HB_FOFFSET nPos; ULONG ulOffsetLow = ( ULONG ) ( nOffset & ULONG_MAX ), ulOffsetHigh = ( ULONG ) ( nOffset >> 32 ); ulOffsetLow = SetFilePointer( DosToWinHandle( hFileHandle ), ulOffsetLow, ( PLONG ) &ulOffsetHigh, SEEK_SET ); - llPos = ( ( HB_FOFFSET ) ulOffsetHigh << 32 ) | ulOffsetLow; - if( llPos == ( HB_FOFFSET ) INVALID_SET_FILE_POINTER ) + nPos = ( ( HB_FOFFSET ) ulOffsetHigh << 32 ) | ulOffsetLow; + if( nPos == ( HB_FOFFSET ) INVALID_SET_FILE_POINTER ) hb_fsSetIOError( HB_FALSE, 0 ); else hb_fsSetIOError( ReadFile( DosToWinHandle( hFileHandle ), @@ -1809,19 +1809,19 @@ HB_SIZE hb_fsReadAt( HB_FHANDLE hFileHandle, void * pBuff, HB_SIZE nCount, HB_FO nRead = hb_fsReadLarge( hFileHandle, pBuff, nCount ); # else { - HB_FOFFSET llPos; + HB_FOFFSET nPos; # if defined( HB_USE_LARGEFILE64 ) - llPos = lseek64( hFileHandle, nOffset, SEEK_SET ); + nPos = lseek64( hFileHandle, nOffset, SEEK_SET ); # elif defined( HB_OS_OS2 ) ULONG ulPos; if( DosSetFilePtr( hFileHandle, nOffset, SEEK_SET, &ulPos ) == 0 ) - llPos = ( HB_FOFFSET ) ulPos; + nPos = ( HB_FOFFSET ) ulPos; else - llPos = ( HB_FOFFSET ) -1; + nPos = ( HB_FOFFSET ) -1; # else - llPos = lseek( hFileHandle, nOffset, SEEK_SET ); + nPos = lseek( hFileHandle, nOffset, SEEK_SET ); # endif - if( llPos == ( HB_FOFFSET ) -1 ) + if( nPos == ( HB_FOFFSET ) -1 ) hb_fsSetIOError( HB_FALSE, 0 ); else { @@ -1910,14 +1910,14 @@ HB_SIZE hb_fsWriteAt( HB_FHANDLE hFileHandle, const void * pBuff, HB_SIZE nCount } else { - HB_FOFFSET llPos; + HB_FOFFSET nPos; ULONG ulOffsetLow = ( ULONG ) ( nOffset & ULONG_MAX ), ulOffsetHigh = ( ULONG ) ( nOffset >> 32 ); ulOffsetLow = SetFilePointer( DosToWinHandle( hFileHandle ), ulOffsetLow, ( PLONG ) &ulOffsetHigh, SEEK_SET ); - llPos = ( ( HB_FOFFSET ) ulOffsetHigh << 32 ) | ulOffsetLow; - if( llPos == ( HB_FOFFSET ) INVALID_SET_FILE_POINTER ) + nPos = ( ( HB_FOFFSET ) ulOffsetHigh << 32 ) | ulOffsetLow; + if( nPos == ( HB_FOFFSET ) INVALID_SET_FILE_POINTER ) hb_fsSetIOError( HB_FALSE, 0 ); else hb_fsSetIOError( WriteFile( DosToWinHandle( hFileHandle ), @@ -1934,19 +1934,19 @@ HB_SIZE hb_fsWriteAt( HB_FHANDLE hFileHandle, const void * pBuff, HB_SIZE nCount nWritten = hb_fsWriteLarge( hFileHandle, pBuff, nCount ); # else { - HB_FOFFSET llPos; + HB_FOFFSET nPos; # if defined( HB_USE_LARGEFILE64 ) - llPos = lseek64( hFileHandle, nOffset, SEEK_SET ); + nPos = lseek64( hFileHandle, nOffset, SEEK_SET ); # elif defined( HB_OS_OS2 ) ULONG ulPos; if( DosSetFilePtr( hFileHandle, nOffset, SEEK_SET, &ulPos ) == 0 ) - llPos = ( HB_FOFFSET ) ulPos; + nPos = ( HB_FOFFSET ) ulPos; else - llPos = ( HB_FOFFSET ) -1; + nPos = ( HB_FOFFSET ) -1; # else - llPos = lseek( hFileHandle, nOffset, SEEK_SET ); + nPos = lseek( hFileHandle, nOffset, SEEK_SET ); # endif - if( llPos == ( HB_FOFFSET ) -1 ) + if( nPos == ( HB_FOFFSET ) -1 ) hb_fsSetIOError( HB_FALSE, 0 ); else { @@ -2450,7 +2450,7 @@ HB_ULONG hb_fsSeek( HB_FHANDLE hFileHandle, HB_LONG lOffset, HB_USHORT uiFlags ) HB_FOFFSET hb_fsSeekLarge( HB_FHANDLE hFileHandle, HB_FOFFSET nOffset, HB_USHORT uiFlags ) { - HB_FOFFSET llPos; + HB_FOFFSET nPos; HB_TRACE(HB_TR_DEBUG, ("hb_fsSeekLarge(%p, %" PFHL "i, %hu)", ( void * ) ( HB_PTRDIFF ) hFileHandle, nOffset, uiFlags)); @@ -2464,7 +2464,7 @@ HB_FOFFSET hb_fsSeekLarge( HB_FHANDLE hFileHandle, HB_FOFFSET nOffset, HB_USHORT hb_vmUnlock(); if( nOffset < 0 && nFlags == SEEK_SET ) { - llPos = ( HB_FOFFSET ) INVALID_SET_FILE_POINTER; + nPos = ( HB_FOFFSET ) INVALID_SET_FILE_POINTER; hb_fsSetError( 25 ); /* 'Seek Error' */ } else @@ -2472,16 +2472,16 @@ HB_FOFFSET hb_fsSeekLarge( HB_FHANDLE hFileHandle, HB_FOFFSET nOffset, HB_USHORT ulOffsetLow = SetFilePointer( DosToWinHandle( hFileHandle ), ulOffsetLow, ( PLONG ) &ulOffsetHigh, ( DWORD ) nFlags ); - llPos = ( ( HB_FOFFSET ) ulOffsetHigh << 32 ) | ulOffsetLow; - hb_fsSetIOError( llPos != ( HB_FOFFSET ) INVALID_SET_FILE_POINTER, 0 ); + nPos = ( ( HB_FOFFSET ) ulOffsetHigh << 32 ) | ulOffsetLow; + hb_fsSetIOError( nPos != ( HB_FOFFSET ) INVALID_SET_FILE_POINTER, 0 ); } - if( llPos == ( HB_FOFFSET ) INVALID_SET_FILE_POINTER ) + if( nPos == ( HB_FOFFSET ) INVALID_SET_FILE_POINTER ) { ulOffsetHigh = 0; ulOffsetLow = SetFilePointer( DosToWinHandle( hFileHandle ), 0, ( PLONG ) &ulOffsetHigh, SEEK_CUR ); - llPos = ( ( HB_FOFFSET ) ulOffsetHigh << 32 ) | ulOffsetLow; + nPos = ( ( HB_FOFFSET ) ulOffsetHigh << 32 ) | ulOffsetLow; } hb_vmLock(); } @@ -2492,26 +2492,26 @@ HB_FOFFSET hb_fsSeekLarge( HB_FHANDLE hFileHandle, HB_FOFFSET nOffset, HB_USHORT hb_vmUnlock(); if( nOffset < 0 && nFlags == SEEK_SET ) { - llPos = ( HB_FOFFSET ) -1; + nPos = ( HB_FOFFSET ) -1; hb_fsSetError( 25 ); /* 'Seek Error' */ } else { - llPos = lseek64( hFileHandle, nOffset, nFlags ); - hb_fsSetIOError( llPos != ( HB_FOFFSET ) -1, 0 ); + nPos = lseek64( hFileHandle, nOffset, nFlags ); + hb_fsSetIOError( nPos != ( HB_FOFFSET ) -1, 0 ); } - if( llPos == ( HB_FOFFSET ) -1 ) + if( nPos == ( HB_FOFFSET ) -1 ) { - llPos = lseek64( hFileHandle, 0L, SEEK_CUR ); + nPos = lseek64( hFileHandle, 0L, SEEK_CUR ); } hb_vmLock(); } #else - llPos = ( HB_FOFFSET ) hb_fsSeek( hFileHandle, ( HB_ISIZ ) nOffset, uiFlags ); + nPos = ( HB_FOFFSET ) hb_fsSeek( hFileHandle, ( HB_ISIZ ) nOffset, uiFlags ); #endif - return llPos; + return nPos; } HB_FOFFSET hb_fsTell( HB_FHANDLE hFileHandle ) diff --git a/harbour/src/rtl/fssize.c b/harbour/src/rtl/fssize.c index 1f9e8bde53..b9cd66e625 100644 --- a/harbour/src/rtl/fssize.c +++ b/harbour/src/rtl/fssize.c @@ -132,9 +132,9 @@ HB_FOFFSET hb_fsFSize( const char * pszFileName, HB_BOOL bUseDirEntry ) if( hFileHandle != FS_ERROR ) { - HB_FOFFSET ulPos = hb_fsSeekLarge( hFileHandle, 0, FS_END ); + HB_FOFFSET nPos = hb_fsSeekLarge( hFileHandle, 0, FS_END ); hb_fsClose( hFileHandle ); - return ulPos; + return nPos; } } return 0; diff --git a/harbour/utils/hbmk2/hbmk2.prg b/harbour/utils/hbmk2/hbmk2.prg index 29e5e15896..b3f3e462de 100644 --- a/harbour/utils/hbmk2/hbmk2.prg +++ b/harbour/utils/hbmk2/hbmk2.prg @@ -758,7 +758,6 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause ) LOCAL lAcceptLDClipper := .F. LOCAL lAcceptIFlag := .F. LOCAL lHarbourInfo := .F. - LOCAL cMakeImpLibDLL LOCAL nHarbourPPO := 0 LOCAL cHarbourOutputExt @@ -3946,40 +3945,7 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause ) /* ; */ IF hbmk[ _HBMK_lCreateImpLib ] - IF ISBLOCK( bBlk_ImpLib ) - IF ! Empty( hbmk[ _HBMK_aIMPLIBSRC ] ) - FOR EACH cMakeImpLibDLL IN hbmk[ _HBMK_aIMPLIBSRC ] - - cMakeImpLibDLL := FN_ExtDef( cMakeImpLibDLL, ".dll" ) - tmp1 := hbmk[ _HBMK_cPROGNAME ] - DEFAULT tmp1 TO FN_NameGet( cMakeImpLibDLL ) - tmp := FN_CookLib( hb_FNameMerge( hbmk[ _HBMK_cPROGDIR ], tmp1 ), cLibLibPrefix, cLibLibExt ) - - IF hbmk[ _HBMK_lCLEAN ] - FErase( tmp ) - ELSE - SWITCH Eval( bBlk_ImpLib, cMakeImpLibDLL, tmp, ArrayToList( hbmk[ _HBMK_aOPTI ] ) ) - CASE _HBMK_IMPLIB_OK - hbmk_OutStd( hbmk, hb_StrFormat( I_( "Created import library: %1$s <= %2$s" ), tmp, cMakeImpLibDLL ) ) - AAddNewINST( hbmk[ _HBMK_aINSTFILE ], { "", tmp }, .T. ) - EXIT - CASE _HBMK_IMPLIB_FAILED - hbmk_OutErr( hbmk, hb_StrFormat( I_( "Error: Failed creating import library %1$s from %2$s." ), tmp, cMakeImpLibDLL ) ) - EXIT - ENDSWITCH - ENDIF - NEXT - IF ! hbmk[ _HBMK_lCLEAN ] - DoInstCopy( hbmk ) - ENDIF - ELSE - IF hbmk[ _HBMK_lInfo ] - hbmk_OutErr( hbmk, I_( "Warning: No import library source was specified" ) ) - ENDIF - ENDIF - ELSE - hbmk_OutErr( hbmk, I_( "Error: Creating import libraries is not supported for this platform or compiler." ) ) - ENDIF + DoIMPLIB( hbmk, bBlk_ImpLib, cLibLibPrefix, cLibLibExt ) ENDIF DEFAULT hbmk[ _HBMK_nScr_Esc ] TO hbmk[ _HBMK_nCmd_Esc ] @@ -5510,6 +5476,62 @@ FUNCTION hbmk2( aArgs, /* @ */ lPause ) RETURN hbmk[ _HBMK_nErrorLevel ] +STATIC PROCEDURE DoIMPLIB( hbmk, bBlk_ImpLib, cLibLibPrefix, cLibLibExt ) + LOCAL cMakeImpLibDLL + LOCAL tmp, tmp1 + LOCAL nNotFound + + LOCAL aToDelete + + IF ISBLOCK( bBlk_ImpLib ) + IF ! Empty( hbmk[ _HBMK_aIMPLIBSRC ] ) + aToDelete := {} + nNotFound := 0 + FOR EACH cMakeImpLibDLL IN hbmk[ _HBMK_aIMPLIBSRC ] + + cMakeImpLibDLL := FN_ExtDef( cMakeImpLibDLL, ".dll" ) + tmp1 := hbmk[ _HBMK_cPROGNAME ] + DEFAULT tmp1 TO FN_NameGet( cMakeImpLibDLL ) + tmp := FN_CookLib( hb_FNameMerge( hbmk[ _HBMK_cPROGDIR ], tmp1 ), cLibLibPrefix, cLibLibExt ) + + IF hbmk[ _HBMK_lCLEAN ] + AAddNew( aToDelete, tmp ) + ELSE + SWITCH Eval( bBlk_ImpLib, cMakeImpLibDLL, tmp, ArrayToList( hbmk[ _HBMK_aOPTI ] ) ) + CASE _HBMK_IMPLIB_OK + hbmk_OutStd( hbmk, hb_StrFormat( I_( "Created import library: %1$s <= %2$s" ), tmp, cMakeImpLibDLL ) ) + AAddNewINST( hbmk[ _HBMK_aINSTFILE ], { "", tmp }, .T. ) + EXIT + CASE _HBMK_IMPLIB_FAILED + hbmk_OutErr( hbmk, hb_StrFormat( I_( "Error: Failed creating import library %1$s from %2$s." ), tmp, cMakeImpLibDLL ) ) + EXIT + CASE _HBMK_IMPLIB_NOTFOUND + ++nNotFound + EXIT + ENDSWITCH + ENDIF + NEXT + + IF nNotFound == Len( hbmk[ _HBMK_aIMPLIBSRC ] ) + hbmk_OutErr( hbmk, hb_StrFormat( I_( "Warning: No import library sources were found." ) ) ) + ELSE + IF hbmk[ _HBMK_lCLEAN ] + AEval( aToDelete, {| tmp | FErase( tmp ) } ) + ELSE + DoInstCopy( hbmk ) + ENDIF + ENDIF + ELSE + IF hbmk[ _HBMK_lInfo ] + hbmk_OutErr( hbmk, I_( "Warning: No import library source was specified" ) ) + ENDIF + ENDIF + ELSE + hbmk_OutErr( hbmk, I_( "Error: Creating import libraries is not supported for this platform or compiler." ) ) + ENDIF + + RETURN + #define _INST_cGroup 1 #define _INST_cData 2