@@ -876,9 +876,7 @@ PHP_MINFO_FUNCTION(odbc)
876
876
/* {{{ odbc_sql_error */
877
877
void odbc_sql_error (ODBC_SQL_ERROR_PARAMS )
878
878
{
879
- char state [6 ];
880
879
SQLINTEGER error ; /* Not used */
881
- char errormsg [SQL_MAX_MESSAGE_LENGTH ];
882
880
SQLSMALLINT errormsgsize ; /* Not used */
883
881
RETCODE rc ;
884
882
ODBC_SQL_ENV_T henv ;
@@ -897,21 +895,19 @@ void odbc_sql_error(ODBC_SQL_ERROR_PARAMS)
897
895
while(henv != SQL_NULL_HENV){
898
896
do {
899
897
*/
900
- rc = SQLError (henv , conn , stmt , state , & error , errormsg , sizeof (errormsg )- 1 , & errormsgsize );
898
+ rc = SQLError (henv , conn , stmt , ODBCG ( laststate ) , & error , ODBCG ( lasterrormsg ) , sizeof (ODBCG ( lasterrormsg ) )- 1 , & errormsgsize );
901
899
if (rc != SQL_SUCCESS && rc != SQL_SUCCESS_WITH_INFO ) {
902
- snprintf (state , sizeof (state ), "HY000" );
903
- snprintf (errormsg , sizeof (errormsg ), "Failed to fetch error message" );
900
+ snprintf (ODBCG ( laststate ) , sizeof (ODBCG ( laststate ) ), "HY000" );
901
+ snprintf (ODBCG ( lasterrormsg ) , sizeof (ODBCG ( lasterrormsg ) ), "Failed to fetch error message" );
904
902
}
905
903
if (conn_resource ) {
906
- memcpy (conn_resource -> laststate , state , sizeof (state ));
907
- memcpy (conn_resource -> lasterrormsg , errormsg , sizeof (errormsg ));
904
+ memcpy (conn_resource -> laststate , ODBCG ( laststate ) , sizeof (ODBCG ( laststate ) ));
905
+ memcpy (conn_resource -> lasterrormsg , ODBCG ( lasterrormsg ) , sizeof (ODBCG ( lasterrormsg ) ));
908
906
}
909
- memcpy (ODBCG (laststate ), state , sizeof (state ));
910
- memcpy (ODBCG (lasterrormsg ), errormsg , sizeof (errormsg ));
911
907
if (func ) {
912
- php_error_docref (NULL , E_WARNING , "SQL error: %s, SQL state %s in %s" , errormsg , state , func );
908
+ php_error_docref (NULL , E_WARNING , "SQL error: %s, SQL state %s in %s" , ODBCG ( lasterrormsg ), ODBCG ( laststate ) , func );
913
909
} else {
914
- php_error_docref (NULL , E_WARNING , "SQL error: %s, SQL state %s" , errormsg , state );
910
+ php_error_docref (NULL , E_WARNING , "SQL error: %s, SQL state %s" , ODBCG ( lasterrormsg ), ODBCG ( laststate ) );
915
911
}
916
912
/*
917
913
} while (SQL_SUCCEEDED(rc));
0 commit comments