From 7b93d5b8530f7dba6c288bfa9b205beb06ee6a88 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Thu, 28 May 2009 11:15:27 +0000 Subject: [PATCH] 2009-05-28 13:14 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbodbc/odbc.c ! Eliminated last UNICODE branching, this also fixes embedded zero chars not being respected in UNICODE mode in SQLDESCRIBECOL(). Not tested, ODBC users please do, also someone pls review me. * ChangeLog * TODOs/TOFIXes marked as DONE. --- harbour/ChangeLog | 28 +++++++++++++++++++--------- harbour/contrib/hbodbc/odbc.c | 15 ++++++--------- 2 files changed, 25 insertions(+), 18 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 9933a3a504..97d27ffeb1 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,16 @@ past entries belonging to these authors: Viktor Szakats. */ +2009-05-28 13:14 UTC+0200 Viktor Szakats (harbour.01 syenar hu) + * contrib/hbodbc/odbc.c + ! Eliminated last UNICODE branching, this also fixes + embedded zero chars not being respected in UNICODE mode + in SQLDESCRIBECOL(). Not tested, ODBC users please do, + also someone pls review me. + + * ChangeLog + * TODOs/TOFIXes marked as DONE. + 2009-05-28 11:40 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * utils/hbmk2/hbmk2.prg + Added macros ${hb_major}, ${hb_minor}, ${hb_release}. @@ -252,7 +262,7 @@ ! HB_AX_ATLSETVERB() now accepts HWND pointers, too. ! HB_AX_ATLAXGETCONTROL() now accepts HWND pointers, too. ; TOFIX: GTWVG uses HB_AX_* prefix to denote AX function, while - these should be named WVG_AX*(). + these should be named WVG_AX*(). [DONE] ; TODO: Probably the full content, or at least the universally useful portion of wvgsink.c should eventually go to hbwin, but all these functions need further cleanups, @@ -650,7 +660,7 @@ ! fixed -gc3 code generated for switch statement - thanks to Marek and Xavi for information and self contain example TODO: add missing RT error in -gc3 output when wrong (non integer - and non string value) is used in SWITCH statement + and non string value) is used in SWITCH statement [DONE] 2009-05-25 15:00 UTC+0300 Alexander Kresin * utils/hbformat/hbformat.prg @@ -1006,7 +1016,7 @@ Please test it on *nix. ; TODO: Except one. Currently we have no TCHAR macro which deals with byte strings with lengths. - Przemek, do you think it's possible to add it? + [DONE] * contrib/rddsql/sddodbc/odbcdd.c + Added HB_TCHAR_CONVFROM(). @@ -1114,7 +1124,7 @@ * contrib/rddsql/sddodbc/odbcdd.c ! Fixed three warnings (2 casts + 1 uninit var) with MSVC. - ; TOFIX: These errors are shown when trying to compile in UNICODE mode: + ; TOFIX: These errors are shown when trying to compile in UNICODE mode [DONE]: ../../odbcdd.c(168) : error C2664: 'SQLDriverConnectW' : cannot convert parameter 3 from 'SQLCHAR *' to 'SQLWCHAR *' ../../odbcdd.c(204) : error C2664: 'SQLExecDirectW' : cannot convert parameter 2 from 'SQLCHAR *' to 'SQLWCHAR *' ../../odbcdd.c(239) : error C2664: 'SQLExecDirectW' : cannot convert parameter 2 from 'SQLCHAR *' to 'SQLWCHAR *' @@ -1209,7 +1219,7 @@ WIN_AxGetControl( hWnd, [ bEventHandler ] ) --> oActiveX ; TODO: a few warnings left. I do not know howto recast function - type pointer + type pointer [DONE] * harbour/contrib/hbwin/oleauto.c * function renames @@ -1814,7 +1824,7 @@ ; Only remains few class extensions covered by HB_EXTENSION. Overall there is no reason anymore to use this macro. - TODO: Solve these using inheritance. + TODO: Solve these using inheritance. [DONE] 2009-05-14 01:47 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * utils/hbmk2/hbmk2.prg @@ -1959,7 +1969,7 @@ Those who need the old implementation in the meantime for any reason, can find it in contrib/example/hboleold. ; TODO: Fill the few missing features (ActiveX/FiveWin - compatibility). + compatibility). [DONE] * ChangeLog * Marked two TODO/TOFIX done. @@ -2082,7 +2092,7 @@ * source/compiler/hbfunchk.c ! Fix to prev: AT() declaration. - ; TODO: Clean rest of HB_EXTENSION stuff. + ; TODO: Clean rest of HB_EXTENSION stuff. [DONE] 2009-05-12 15:48 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/hbzlib.c @@ -2790,7 +2800,7 @@ ! Disabled -map option for *nix gcc as it doesn't seem supported (probably isn't needed on these platforms anyway). % Cleaned code redundancy in forming output names. - ; TOFIX: gcc/darwin complains that -s switch is obsolete and being ignored. + ; TOFIX: gcc/darwin complains that -s switch is obsolete and being ignored. [DONE] 2009-04-29 11:16 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/xhb/dbgfxc.c diff --git a/harbour/contrib/hbodbc/odbc.c b/harbour/contrib/hbodbc/odbc.c index 6fc898ccd8..ade6eed931 100644 --- a/harbour/contrib/hbodbc/odbc.c +++ b/harbour/contrib/hbodbc/odbc.c @@ -80,9 +80,10 @@ #include "hbapi.h" #if !defined( HB_OS_WIN ) -# define HB_TCHAR_CONVTO( s ) ( ( char * ) ( s ) ) -# define HB_TCHAR_CONVFROM( s ) ( ( char * ) ( s ) ) -# define HB_TCHAR_FREE( s ) HB_SYMBOL_UNUSED( s ) +# define HB_TCHAR_CONVTO( s ) ( ( char * ) ( s ) ) +# define HB_TCHAR_CONVFROM( s ) ( ( char * ) ( s ) ) +# define HB_TCHAR_CONVNFROM( s, l ) ( ( char * ) ( s ) ) +# define HB_TCHAR_FREE( s ) HB_SYMBOL_UNUSED( s ) #endif #if defined( HB_OS_LINUX ) && defined( __WATCOMC__ ) @@ -323,13 +324,9 @@ HB_FUNC( SQLDESCRIBECOL ) /* hStmt, nCol, @cName, nLen, @nBufferLen, @nDataType, { if( ISBYREF( 3 ) ) { -#if defined( HB_OS_WIN ) && defined( UNICODE ) - char * szStr = HB_TCHAR_CONVFROM( buffer ); - hb_storc( szStr, 3 ); + char * szStr = HB_TCHAR_CONVNFROM( buffer, wBufLen ); + hb_storclen( szStr, ( long ) wBufLen, 3 ); HB_TCHAR_FREE( szStr ); -#else - hb_storclen( ( char * ) buffer, ( long ) wBufLen, 3 ); -#endif } hb_storni( ( int ) wBufLen, 5 ); hb_storni( ( int ) wDataType, 6 );