2008-08-07 10:11 UTC+0200 Viktor Szakats (harbour.01 syenar hu)

* contrib/hbodbc/odbc.c
     ! Replaced depracated ODBC API calls to new ones, thus 
       solving some potential buffer overflow problems and 
       64 bit warnings.

   * contrib/hbodbc/tests/odbcdemo.prg
     ! Fixed some non-ASCII chars.
This commit is contained in:
Viktor Szakats
2008-08-07 08:12:09 +00:00
parent 56ee0be12b
commit fc8699316a
3 changed files with 36 additions and 24 deletions

View File

@@ -8,6 +8,15 @@
2008-12-31 13:59 UTC+0100 Foo Bar <foo.bar@foobar.org>
*/
2008-08-07 10:11 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* contrib/hbodbc/odbc.c
! Replaced depracated ODBC API calls to new ones, thus
solving some potential buffer overflow problems and
64 bit warnings.
* contrib/hbodbc/tests/odbcdemo.prg
! Fixed some non-ASCII chars.
2008-08-07 09:15 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/rtl/achoice.prg
* Minor formatting.

View File

@@ -504,41 +504,45 @@ HB_FUNC( SQLGETINFO ) /* hDbc, nType, @cResult */
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 ) ) );
hb_retni( SQLSetConnectAttr( ( SQLHDBC ) hb_parptr( 1 ),
( SQLINTEGER ) hb_parnl( 2 ),
ISCHAR( 3 ) ? ( SQLPOINTER ) hb_parcx( 3 ) : ( SQLPOINTER ) hb_parnl( 3 ),
( SQLINTEGER ) ISCHAR( 3 ) ? hb_parclen( 3 ) : SQL_IS_INTEGER ) );
}
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 ) ) );
hb_retni( SQLSetStmtAttr( ( SQLHSTMT ) hb_parptr( 1 ),
( SQLINTEGER ) hb_parnl( 2 ),
ISCHAR( 3 ) ? ( SQLPOINTER ) hb_parcx( 3 ) : ( SQLPOINTER ) hb_parnl( 3 ),
( SQLINTEGER ) ISCHAR( 3 ) ? hb_parclen( 3 ) : SQL_IS_INTEGER ) );
}
HB_FUNC( SQLGETCONNECTOPTION ) /* hDbc, nOption, @cOption */
{
BYTE bBuffer[ 512 ];
/* TOFIX: SQLGetConnectOption() deprecated. */
WORD wResult = SQLGetConnectOption( ( HDBC ) hb_parptr( 1 ), hb_parni( 2 ), bBuffer );
if( wResult == SQL_SUCCESS )
hb_storclen( ( char * ) bBuffer, sizeof( bBuffer ), 3 );
hb_retni( wResult );
SQLPOINTER buffer[ 512 ];
SQLINTEGER len;
SQLRETURN result = SQLGetConnectAttr( ( SQLHDBC ) hb_parptr( 1 ),
( SQLINTEGER ) hb_parni( 2 ),
buffer,
( SQLINTEGER ) sizeof( buffer ),
&len );
hb_storclen( result == SQL_SUCCESS ? ( char * ) buffer : NULL, len, 3 );
hb_retni( result );
}
HB_FUNC( SQLGETSTMTOPTION ) /* hStmt, nOption, @cOption */
{
BYTE bBuffer[ 512 ];
/* TOFIX: SQLGetStmtOption() deprecated. */
WORD wResult = SQLGetStmtOption( ( SQLHSTMT ) hb_parptr( 1 ), hb_parni( 2 ), bBuffer );
SQLPOINTER buffer[ 512 ];
SQLINTEGER len;
SQLRETURN result = SQLGetStmtAttr( ( SQLHSTMT ) hb_parptr( 1 ),
( SQLINTEGER ) hb_parni( 2 ),
buffer,
( SQLINTEGER ) sizeof( buffer ),
&len );
if( wResult == SQL_SUCCESS )
hb_storclen( ( char * ) bBuffer, sizeof( bBuffer ), 3 );
hb_retni( wResult );
hb_storclen( result == SQL_SUCCESS ? ( char * ) buffer : NULL, len, 3 );
hb_retni( result );
}
HB_FUNC( SQLCOMMIT ) /* hEnv, hDbc */
@@ -604,7 +608,6 @@ HB_FUNC( SQLEXECUTESCALAR )
hb_retni( wResult );
SQLFreeStmt( ( HSTMT ) hStmt, 0 );
}
HB_FUNC( SQLSTOD )

View File

@@ -27,7 +27,7 @@ FUNCTION Main()
WHILE .T.
@ 00, 00 SAY padc( "þ TODBC Demonstration þ", 80 ) COLOR "B/W"
@ 00, 00 SAY padc( "- TODBC Demonstration -", 80 ) COLOR "B/W"
dsFunctions:SetSQL( "SELECT * FROM Functions" )
dsFunctions:Open()