diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 88568eaadd..81d8032fed 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,33 @@ The license applies to all entries newer than 2009-04-28. */ +2010-10-02 11:43 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + * utils/hbmk2/hbmk2.prg + + Added workaround for mingw compiler problem where it + tends to leave zero byte long objects in cases when the + build process gets (manually) aborted. + Please check it and report any potential performace + problems (hbmk2 needs to read the objects' size from + the directory listing). Maybe we will need a Harbour + function which returns both timestamp and size in one + call. + + * contrib/hbodbc/todbc.prg + - Deleted 'FROM HBCLASS' from class declarations. + Thanks to Manu for the report. + + * contrib/hbxpp/dbfuncsx.prg + + Added XPP_DBUSEAREA() which emulates non-Clipper compatible + behavior of Xbase++ DBUSEAREA() implementation. + Based on code and information sent by Shum + + * contrib/gtwvg/wvgwing.c + ! Fixed compilation in newer BCC versions (6.3). + Fix suggested by YD0DKL + + * package/winuni/mpkg_win_uni.bat + + Added copyright msg. + 2010-10-01 17:24 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt) * harbour/contrib/sddpg/sddpg.c * added text field support provided by Aleksander Czajczynski with @@ -33,7 +60,7 @@ * harbour/contrib/sddodbc/sddodbc.c * harbour/contrib/sddpg/sddpg.c * harbour/contrib/sddsqlt3/sddsqlt3.c - ! added protection agains double resource freeing in case of double + ! added protection agains double resource freeing in case of double CLOSE method; 2010-09-30 10:20 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) @@ -47,7 +74,7 @@ + contrib/hbqt/qtcore/qth/QMetaType.qth + Added: classes to manage QMetaObject() and allied. Still not on compilable levels. - + 2010-09-30 17:12 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt) * harbour/contrib/rddsdd/sqlmix.c ! fixed typo diff --git a/harbour/contrib/gtwvg/wvgwing.c b/harbour/contrib/gtwvg/wvgwing.c index e4f5135070..6cf6de89fe 100644 --- a/harbour/contrib/gtwvg/wvgwing.c +++ b/harbour/contrib/gtwvg/wvgwing.c @@ -74,7 +74,7 @@ /*----------------------------------------------------------------------*/ /*----------------------------------------------------------------------*/ -#if defined( __BORLANDC__ ) +#if defined( __BORLANDC__ ) && ( __BORLANDC__ < 1552 ) # if !defined( NONAMELESSUNION ) # define NONAMELESSUNION # endif diff --git a/harbour/contrib/hbodbc/todbc.prg b/harbour/contrib/hbodbc/todbc.prg index c0032f6cd1..afb959034a 100644 --- a/harbour/contrib/hbodbc/todbc.prg +++ b/harbour/contrib/hbodbc/todbc.prg @@ -77,7 +77,7 @@ *+ *+-------------------------------------------------------------------- -CREATE CLASS TODBCField FROM HBClass +CREATE CLASS TODBCField VAR FieldID INIT -1 VAR FieldName INIT "" @@ -103,7 +103,7 @@ METHOD New() CLASS TODBCField *+ *+-------------------------------------------------------------------- -CREATE CLASS TODBC FROM HBClass +CREATE CLASS TODBC VAR hEnv VAR hDbc diff --git a/harbour/contrib/hbxpp/dbfuncsx.prg b/harbour/contrib/hbxpp/dbfuncsx.prg index 6528479117..a05be7481c 100644 --- a/harbour/contrib/hbxpp/dbfuncsx.prg +++ b/harbour/contrib/hbxpp/dbfuncsx.prg @@ -50,6 +50,8 @@ * */ +#include "common.ch" + FUNCTION _dbExport( cFile, aFields, bFor, bWhile, nNext, nRecord, lRest, cXPP_Driver, cDelimiter ) DO CASE @@ -64,3 +66,27 @@ FUNCTION _dbExport( cFile, aFields, bFor, bWhile, nNext, nRecord, lRest, cXPP_Dr ENDCASE RETURN __dbCopy( cFile, aFields, bFor, bWhile, nNext, nRecord, lRest, cXPP_Driver ) + +FUNCTION xpp_dbUseArea( lNewArea, cDriver, cName, xcAlias, lShared, lReadonly ) + LOCAL nOldArea + LOCAL nArea + + IF ISLOGICAL( lNewArea ) .AND. lNewArea + IF ! ISCHARACTER( xcAlias ) + xcAlias := "" + ENDIF + + IF Empty( xcAlias ) + xcAlias := cName + ENDIF + + IF ISCHARACTER( xcAlias ) + nOldArea := Select() + IF ( nArea := Select( xcAlias ) ) > 0 + xcAlias += "_" + hb_ntos( nArea ) + ENDIF + dbSelectArea( nOldArea ) + ENDIF + ENDIF + + RETURN dbUseArea( lNewArea, cDriver, cName, xcAlias, lShared, lReadonly ) diff --git a/harbour/package/winuni/mpkg_win_uni.bat b/harbour/package/winuni/mpkg_win_uni.bat index 9659105651..9b9a337288 100644 --- a/harbour/package/winuni/mpkg_win_uni.bat +++ b/harbour/package/winuni/mpkg_win_uni.bat @@ -4,10 +4,15 @@ @echo off -@rem - Adjust target dir, mingw dirs, set HB_DIR_UPX, HB_DIR_7Z, HB_DIR_MINGW, -@rem create required packages beforehand. -@rem - Requires BCC in PATH or HB_DIR_BCC_IMPLIB (for implib). -@rem - Run this from vanilla official source tree only. +rem --------------------------------------------------------------- +rem Copyright 2009-2010 Viktor Szakats (harbour.01 syenar.hu) +rem See COPYING for licensing terms. +rem --------------------------------------------------------------- + +rem - Adjust target dir, mingw dirs, set HB_DIR_UPX, HB_DIR_7Z, HB_DIR_MINGW, +rem create required packages beforehand. +rem - Requires BCC in PATH or HB_DIR_BCC_IMPLIB (for implib). +rem - Run this from vanilla official source tree only. if "%HB_VS%" == "" set HB_VS=21 if "%HB_VL%" == "" set HB_VL=210 diff --git a/harbour/utils/hbmk2/hbmk2.prg b/harbour/utils/hbmk2/hbmk2.prg index cd3bc41b60..e6c47c6c3e 100644 --- a/harbour/utils/hbmk2/hbmk2.prg +++ b/harbour/utils/hbmk2/hbmk2.prg @@ -4556,7 +4556,8 @@ FUNCTION hbmk2( aArgs, nArgTarget, /* @ */ lPause, nLevel ) IF ! hb_FGetDateTime( FNameDirExtSet( tmp, hbmk[ _HBMK_cWorkDir ], cObjExt ), @tmp2 ) .OR. ; ! hb_FGetDateTime( tmp, @tmp1 ) .OR. ; tmp1 > tmp2 .OR. ; - ( hbmk[ _HBMK_nHEAD ] != _HEAD_OFF .AND. FindNewerHeaders( hbmk, tmp, tmp2, .T., cBin_CompC ) ) + ( hbmk[ _HBMK_nHEAD ] != _HEAD_OFF .AND. FindNewerHeaders( hbmk, tmp, tmp2, .T., cBin_CompC ) ) .OR. ; + hb_FSize( FNameDirExtSet( tmp, hbmk[ _HBMK_cWorkDir ], cObjExt ) ) == 0 AAdd( l_aC_TODO, tmp ) ENDIF NEXT @@ -4578,7 +4579,8 @@ FUNCTION hbmk2( aArgs, nArgTarget, /* @ */ lPause, nLevel ) IF ! hb_FGetDateTime( FNameDirExtSet( tmp, hbmk[ _HBMK_cWorkDir ], cObjExt ), @tmp2 ) .OR. ; ! hb_FGetDateTime( tmp, @tmp1 ) .OR. ; tmp1 > tmp2 .OR. ; - ( hbmk[ _HBMK_nHEAD ] != _HEAD_OFF .AND. FindNewerHeaders( hbmk, tmp, tmp2, .T., cBin_CompCPP ) ) + ( hbmk[ _HBMK_nHEAD ] != _HEAD_OFF .AND. FindNewerHeaders( hbmk, tmp, tmp2, .T., cBin_CompCPP ) ) .OR. ; + hb_FSize( FNameDirExtSet( tmp, hbmk[ _HBMK_cWorkDir ], cObjExt ) ) == 0 AAdd( l_aCPP_TODO, tmp ) ENDIF NEXT @@ -5201,7 +5203,8 @@ FUNCTION hbmk2( aArgs, nArgTarget, /* @ */ lPause, nLevel ) IF ! hb_FGetDateTime( FNameDirExtSet( tmp, hbmk[ _HBMK_cWorkDir ], cResExt ), @tmp2 ) .OR. ; ! hb_FGetDateTime( tmp, @tmp1 ) .OR. ; tmp1 > tmp2 .OR. ; - ( hbmk[ _HBMK_nHEAD ] != _HEAD_OFF .AND. FindNewerHeaders( hbmk, tmp, tmp2, .T., cBin_CompC ) ) + ( hbmk[ _HBMK_nHEAD ] != _HEAD_OFF .AND. FindNewerHeaders( hbmk, tmp, tmp2, .T., cBin_CompC ) ) .OR. ; + hb_FSize( FNameDirExtSet( tmp, hbmk[ _HBMK_cWorkDir ], cResExt ) ) == 0 AAdd( l_aRESSRC_TODO, tmp ) ENDIF NEXT @@ -5398,7 +5401,8 @@ FUNCTION hbmk2( aArgs, nArgTarget, /* @ */ lPause, nLevel ) ENDIF IF ! hb_FGetDateTime( FNameDirExtSet( tmp3, hbmk[ _HBMK_cWorkDir ], ".c" ), @tmp1 ) .OR. ; ! hb_FGetDateTime( FNameDirExtSet( tmp3, hbmk[ _HBMK_cWorkDir ], cObjExt ), @tmp2 ) .OR. ; - tmp1 > tmp2 + tmp1 > tmp2 .OR. ; + hb_FSize( FNameDirExtSet( tmp3, hbmk[ _HBMK_cWorkDir ], cObjExt ) ) == 0 AAdd( l_aPRG_TODO, tmp ) ENDIF NEXT