diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 6732d1f7df..2e909ecc17 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,15 +16,44 @@ The license applies to all entries newer than 2009-04-28. */ +2010-07-17 08:43 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + * src/rtl/hbsocket.c + + Enabled ioctl() calls for VxWorks. + ! Worked around 'socklen_t' vs 'int' warnings with VxWorks. + (still remains some 'const char *' and 'caddr_t' vs 'char * + warnings, nothing serious though) + + * include/hbthread.h + ! Enabled HB_CRITICAL_NEED_INIT for VxWorks. Avoids the compiler + warnings caused by PTHREAD_COND_INITIALIZER having one less + structure member than initialized structure. + MT mode still doesn't work though. + + * contrib/hbodbc/odbc.c + + Added HB_ODBCVER() function to return build-time ODBC version + reported by ODBCVER macro. + + * contrib/hbodbc/tests/testodbc.prg + + Show ODBC version number. + + - contrib/hbqt/doc/html + - Deleted. doc dirs now have to abide by the HBDOC rules posted + on the dev list, which means doc may contain (non-empty) language + dirs only. html should be generated by client app or by install + process. + + * contrib/hbwin/hbwinole.h + ! Patch by Tamas Tevesz, fixing NONAMELESSUNION issue for watcom. + 2010-07-16 18:33 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbide/idefindreplace.prg * contrib/hbide/idemisc.prg - ! Fixed: a bug in "find in Files" output where characters "<" and ">" + ! Fixed: a bug in "find in Files" output where characters "<" and ">" were eaten up by the html engine, reported by Massimo Belgrano. * contrib/hbide/idebrowse.prg + Implemented: "connections" concept for third-party RDD hooks. - Will write a white-paper to this effect soon once the engine + Will write a white-paper to this effect soon once the engine becomes stable. It is working for my native RDDs. 2010-07-16 20:55 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) @@ -92,6 +121,8 @@ sioLib API - 'fork' has to be replaced. - sockets were not tested, anyhow they are supposed to work. + (only few benign cast warnings are present, plus ioctl() + calls guarded off) - termios is missing, so large parts of GTSTD and GTTRM are disabled on this platform. - ARM/MIPS CPU support needs to be added to hbatomic.h @@ -100,13 +131,14 @@ - MT apps GPFs, this needs to be fixed probably inside our code, but it's possible some build options are needed which I missed all along. + GPF is inside pthread_mutex_lock(). - HB_SHARED_MODE=yes needs further tweaking. - GNU Make 3.80 is shipped with the VxWorks package, and it fails with strange error which is not suprise how buggy make was in 2002, the first usable version is 3.81 on Windows. Simply copying make.exe over with the mingw 3.81 build makes it work (or setup Workbench to launch - win-make.exe?). + win-make.exe?). [CLOSED] - Maybet the dbCreate() problem worth looking into, as f.e. hb_out.log was generated fine on the FS. diff --git a/harbour/contrib/hbodbc/odbc.c b/harbour/contrib/hbodbc/odbc.c index 590400565c..56850a1e3d 100644 --- a/harbour/contrib/hbodbc/odbc.c +++ b/harbour/contrib/hbodbc/odbc.c @@ -656,3 +656,8 @@ HB_FUNC( SQLNUMSETLEN ) /* nValue, nSize, nDecimals --> nValue (nSize, nDec) */ { hb_retnlen( hb_parnd( 1 ), hb_parni( 2 ), hb_parni( 3 ) ); } + +HB_FUNC( HB_ODBCVER ) +{ + hb_retni( ODBCVER ); +} diff --git a/harbour/contrib/hbodbc/tests/testodbc.prg b/harbour/contrib/hbodbc/tests/testodbc.prg index ebe594ae24..31bbe16ee2 100644 --- a/harbour/contrib/hbodbc/tests/testodbc.prg +++ b/harbour/contrib/hbodbc/tests/testodbc.prg @@ -18,6 +18,8 @@ PROCEDURE Main() LOCAL nRows := 0 LOCAL cCode, cFunc, cState, cComm + ? "Version: " + hb_NumToHex( hb_odbcVer() ) + cConstrin := "DBQ=" + hb_FNameMerge( hb_DirBase(), "test.mdb" ) + ";Driver={Microsoft Access Driver (*.mdb)}" ? padc( "*** ODBC ACCESS TEST ***", 80 ) diff --git a/harbour/contrib/hbwin/hbwinole.h b/harbour/contrib/hbwin/hbwinole.h index df58e47ffa..c1ddb34632 100644 --- a/harbour/contrib/hbwin/hbwinole.h +++ b/harbour/contrib/hbwin/hbwinole.h @@ -76,10 +76,11 @@ /* This code uses named union so this declaration is necessary for * compilers where nameless unions are default */ -#if defined( __BORLANDC__ ) -# if !defined( NONAMELESSUNION ) -# define NONAMELESSUNION -# endif +#if defined( __BORLANDC__ ) || \ + ( defined( __WATCOMC__ ) && !defined( __cplusplus ) ) +# if !defined( NONAMELESSUNION ) +# define NONAMELESSUNION +# endif #endif #include diff --git a/harbour/include/hbthread.h b/harbour/include/hbthread.h index 88ea5f8658..f7be0eac2b 100644 --- a/harbour/include/hbthread.h +++ b/harbour/include/hbthread.h @@ -71,6 +71,10 @@ # endif # include # define HB_PTHREAD_API +# if defined( HB_OS_VXWORKS ) +# /* Avoids compiler warnings in mutex initialization. MT still doesn't work though. */ +# define HB_CRITICAL_NEED_INIT +# endif #elif defined( HB_OS_WIN ) # include # if !defined( HB_OS_WIN_CE ) diff --git a/harbour/src/rtl/hbsocket.c b/harbour/src/rtl/hbsocket.c index 7cfa420a8c..e9de9486d4 100644 --- a/harbour/src/rtl/hbsocket.c +++ b/harbour/src/rtl/hbsocket.c @@ -214,9 +214,14 @@ # include # if defined( HB_OS_BEOS ) # include +# endif + /* NOTE: Hack to avoid collision between stdint.h and unistd.h. [vszakats] */ +# if defined( HB_OS_VXWORKS ) && defined( _INTPTR ) && !defined( _INTPTR_T ) +# define _INTPTR_T # endif # if defined( HB_OS_VXWORKS ) # include +# include # endif # include # include @@ -227,10 +232,6 @@ # include # if !( defined( HB_OS_LINUX ) && defined( __WATCOMC__ ) ) # include -# endif - /* NOTE: Hack to avoid collision between stdint.h and unistd.h. [vszakats] */ -# if defined( HB_OS_VXWORKS ) && defined( _INTPTR ) && !defined( _INTPTR_T ) -# define _INTPTR_T # endif # include # include @@ -243,7 +244,8 @@ #undef HB_OS_WIN #endif -#if defined( HB_OS_OS2 ) || defined( HB_OS_WIN ) || defined( HB_OS_DOS ) +#if defined( HB_OS_OS2 ) || defined( HB_OS_WIN ) || defined( HB_OS_DOS ) || \ + defined( HB_OS_VXWORKS ) # define socklen_t int #endif @@ -3015,8 +3017,7 @@ PHB_ITEM hb_socketGetIFaces( int af, HB_BOOL fNoAliases ) * of 'struct ifreq' and SIOCGIF* */ #if defined( SIOCGIFCONF ) && \ - !( defined( HB_OS_LINUX ) && defined( __WATCOMC__ ) ) && \ - ! defined( HB_OS_VXWORKS ) + !( defined( HB_OS_LINUX ) && defined( __WATCOMC__ ) ) struct ifconf ifc; struct ifreq * pifr; char * buf, * ptr;