diff --git a/harbour/ChangeLog b/harbour/ChangeLog index a4f627aad8..1022cebcb4 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,21 @@ 2008-12-31 13:59 UTC+0100 Foo Bar */ +2008-07-08 08:29 UTC+0200 Viktor Szakats (harbour.01 syenar hu) + * contrib/hbodbc/odbc.c + ! Fixed compilation error with Pelles C 5.00.1. + * Some formatting. + + * contrib/hbw32/dllcall.c + + Two TOFIXes added for Win64 support. + ! One Warning fixed under Win64. + + * contrib/hbfimage/make_gcc.sh + * contrib/hbfimage/make_b32.bat + * contrib/hbfimage/make_vc.bat + ! Corrected to look in Dist subdir instead of 'source', + so that simple .dll ditribution is enough to compile. + 2008-07-08 07:56 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbodbc/odbc.c ! Fixed all ODBC handles to be pointers. This way it's Win64 diff --git a/harbour/contrib/hbfimage/make_b32.bat b/harbour/contrib/hbfimage/make_b32.bat index d590d70748..53751255f0 100644 --- a/harbour/contrib/hbfimage/make_b32.bat +++ b/harbour/contrib/hbfimage/make_b32.bat @@ -9,7 +9,7 @@ echo --------------------------------------------------------------- echo IMPORTANT: You'll need Freeimage headers and binary from here: echo http://freeimage.sourceforge.net/download.html echo and this envvar to be set to successfully build this library: -echo set HB_INC_FREEIMAGE=C:\FreeImage\source +echo set HB_INC_FREEIMAGE=C:\FreeImage\Dist echo or echo set HB_DIR_FREEIMAGE=C:\FreeImage echo if you want to generate .lib for the .dll. @@ -18,7 +18,7 @@ goto POST_EXIT :DIR_OK -if "%HB_INC_FREEIMAGE%" == "" set HB_INC_FREEIMAGE=%HB_DIR_FREEIMAGE%\source +if "%HB_INC_FREEIMAGE%" == "" set HB_INC_FREEIMAGE=%HB_DIR_FREEIMAGE%\Dist set CFLAGS=-I"%HB_INC_FREEIMAGE%" set _HB_DLL_NAME=FreeImage set _HB_DLL_DIR=%HB_DIR_FREEIMAGE%\Dist diff --git a/harbour/contrib/hbfimage/make_gcc.sh b/harbour/contrib/hbfimage/make_gcc.sh index 0f3915ee8b..bd32763bc6 100755 --- a/harbour/contrib/hbfimage/make_gcc.sh +++ b/harbour/contrib/hbfimage/make_gcc.sh @@ -9,7 +9,7 @@ then echo "---------------------------------------------------------------" echo "IMPORTANT: You will need FreeImage package installed and this" echo " envvar to be set to successfully build this library:" - echo " export HB_INC_FREEIMAGE=C:/FreeImage/source" + echo " export HB_INC_FREEIMAGE=C:/FreeImage/Dist" echo " or" echo " export HB_INC_FREEIMAGE=/usr/include/freeimage" echo "---------------------------------------------------------------" diff --git a/harbour/contrib/hbfimage/make_vc.bat b/harbour/contrib/hbfimage/make_vc.bat index 951ce353d4..198784b736 100644 --- a/harbour/contrib/hbfimage/make_vc.bat +++ b/harbour/contrib/hbfimage/make_vc.bat @@ -9,7 +9,7 @@ echo --------------------------------------------------------------- echo IMPORTANT: You'll need Freeimage headers and binary from here: echo http://freeimage.sourceforge.net/download.html echo and this envvar to be set to successfully build this library: -echo set HB_INC_FREEIMAGE=C:\FreeImage\source +echo set HB_INC_FREEIMAGE=C:\FreeImage\Dist echo or echo set HB_DIR_FREEIMAGE=C:\FreeImage echo if you want to generate .lib for the .dll. @@ -18,7 +18,7 @@ goto POST_EXIT :DIR_OK -if "%HB_INC_FREEIMAGE%" == "" set HB_INC_FREEIMAGE=%HB_DIR_FREEIMAGE%\source +if "%HB_INC_FREEIMAGE%" == "" set HB_INC_FREEIMAGE=%HB_DIR_FREEIMAGE%\Dist set CFLAGS=-I"%HB_INC_FREEIMAGE%" set _HB_DLL_NAME=FreeImage set _HB_DLL_DIR=%HB_DIR_FREEIMAGE%\Dist diff --git a/harbour/contrib/hbodbc/odbc.c b/harbour/contrib/hbodbc/odbc.c index 15393c879b..13b0a0ad83 100644 --- a/harbour/contrib/hbodbc/odbc.c +++ b/harbour/contrib/hbodbc/odbc.c @@ -406,13 +406,17 @@ HB_FUNC( SQLCOLATTRIBUTE ) /* HB_SQLEXTENDEDFETCH( hStmt, nOrientation, nOffset, @nRows, @nRowStatus ) */ HB_FUNC( SQLEXTENDE ) { - SQLULEN uiRowCountPtr = hb_parni( 4 ); - SQLUSMALLINT siRowStatus = hb_parni( 5 ); - WORD wResult = SQLExtendedFetch( ( HSTMT ) hb_parptr( 1 ), - ( USHORT ) hb_parnl( 2 ), - ( USHORT ) hb_parnl( 3 ), - &uiRowCountPtr, - &siRowStatus ); +#if defined(__POCC__) || defined(__XCC__) + SQLROWSETSIZE uiRowCountPtr = hb_parni( 4 ); +#else + SQLULEN uiRowCountPtr = hb_parni( 4 ); +#endif + SQLUSMALLINT siRowStatus = hb_parni( 5 ); + WORD wResult = SQLExtendedFetch( ( HSTMT ) hb_parptr( 1 ), + ( USHORT ) hb_parnl( 2 ), + ( USHORT ) hb_parnl( 3 ), + &uiRowCountPtr, + &siRowStatus ); if( wResult == SQL_SUCCESS || wResult == SQL_SUCCESS_WITH_INFO ) { @@ -502,16 +506,16 @@ HB_FUNC( SQLSETCONNECTOPTION ) /* hDbc, nOption, uOption */ { /* TOFIX: SQLSetConnectOption() deprecated. */ hb_retnl( ( LONG ) SQLSetConnectOption( ( HDBC ) hb_parptr( 1 ), - ( UWORD ) hb_parnl( 2 ), - ( UDWORD ) ISCHAR( 3 ) ? ( LONG ) hb_parcx( 3 ) : hb_parnl( 3 ) ) ); + ( UWORD ) hb_parnl( 2 ), + ( UDWORD ) ISCHAR( 3 ) ? ( LONG ) hb_parcx( 3 ) : hb_parnl( 3 ) ) ); } HB_FUNC( SQLSETSTMTOPTION ) /* hStmt, nOption, uOption ) --> nRetCode */ { /* TOFIX: SQLSetStmtOption() deprecated. */ hb_retnl( ( LONG ) SQLSetStmtOption( ( SQLHSTMT ) hb_parptr( 1 ), - ( UWORD ) hb_parnl( 2 ), - ( UDWORD ) ISCHAR( 3 ) ? ( LONG ) hb_parcx( 3 ) : hb_parnl( 3 ) ) ); + ( UWORD ) hb_parnl( 2 ), + ( UDWORD ) ISCHAR( 3 ) ? ( LONG ) hb_parcx( 3 ) : hb_parnl( 3 ) ) ); } HB_FUNC( SQLGETCONNECTOPTION ) /* hDbc, nOption, @cOption */ diff --git a/harbour/contrib/hbw32/dllcall.c b/harbour/contrib/hbw32/dllcall.c index bf7ea3a9a6..4fc4b26c45 100644 --- a/harbour/contrib/hbw32/dllcall.c +++ b/harbour/contrib/hbw32/dllcall.c @@ -497,11 +497,13 @@ static void DllExec( int iFlags, int iRtype, LPVOID lpFunction, PXPP_DLLEXEC xec { case HB_IT_NIL: Parm[ iCnt ].nWidth = sizeof( void * ); + /* TOFIX: Store NULL pointer in pointer variable. */ Parm[ iCnt ].dwArg = 0; break; case HB_IT_POINTER: Parm[ iCnt ].nWidth = sizeof( void * ); + /* TOFIX: Store pointer in pointer variable. */ Parm[ iCnt ].dwArg = ( DWORD ) hb_itemGetPtr( pParam ); if( hb_parinfo( i ) & HB_IT_BYREF ) @@ -820,7 +822,7 @@ HB_FUNC( DLLCALL ) { HMODULE hDLL = ISCHAR( 1 ) ? LoadLibraryA( hb_parc( 1 ) ) : ( HMODULE ) hb_parnint( 1 ); - if( hDLL && ( DWORD ) hDLL >= 32 ) + if( hDLL && ( HB_PTRDIFF ) hDLL >= 32 ) { DllExec( hb_parni( 2 ), 0, hb_getprocaddress( ( HMODULE ) hDLL, 3 ), NULL, hb_pcount(), 4 );