summaryrefslogtreecommitdiff
path: root/ext/odbc
diff options
context:
space:
mode:
authorAnatol Belski <ab@php.net>2016-11-07 21:09:03 +0100
committerAnatol Belski <ab@php.net>2016-11-07 21:09:03 +0100
commit0c2156d190289d8332e10dad4ea4b83e2cbcdf21 (patch)
tree76aae5190e60c4bbbfca276115ca866db6b91bcf /ext/odbc
parenta67b894cc85908c2b74d38aabf2f665aa6df1f3b (diff)
downloadphp-git-0c2156d190289d8332e10dad4ea4b83e2cbcdf21.tar.gz
avoid unneeded copying
Diffstat (limited to 'ext/odbc')
-rw-r--r--ext/odbc/php_odbc.c18
1 files changed, 7 insertions, 11 deletions
diff --git a/ext/odbc/php_odbc.c b/ext/odbc/php_odbc.c
index eb722f7f17..0fed9317a5 100644
--- a/ext/odbc/php_odbc.c
+++ b/ext/odbc/php_odbc.c
@@ -876,9 +876,7 @@ PHP_MINFO_FUNCTION(odbc)
/* {{{ odbc_sql_error */
void odbc_sql_error(ODBC_SQL_ERROR_PARAMS)
{
- char state[6];
SQLINTEGER error; /* Not used */
- char errormsg[SQL_MAX_MESSAGE_LENGTH];
SQLSMALLINT errormsgsize; /* Not used */
RETCODE rc;
ODBC_SQL_ENV_T henv;
@@ -897,21 +895,19 @@ void odbc_sql_error(ODBC_SQL_ERROR_PARAMS)
while(henv != SQL_NULL_HENV){
do {
*/
- rc = SQLError(henv, conn, stmt, state, &error, errormsg, sizeof(errormsg)-1, &errormsgsize);
+ rc = SQLError(henv, conn, stmt, ODBCG(laststate), &error, ODBCG(lasterrormsg), sizeof(ODBCG(lasterrormsg))-1, &errormsgsize);
if (rc != SQL_SUCCESS && rc != SQL_SUCCESS_WITH_INFO) {
- snprintf(state, sizeof(state), "HY000");
- snprintf(errormsg, sizeof(errormsg), "Failed to fetch error message");
+ snprintf(ODBCG(laststate), sizeof(ODBCG(laststate)), "HY000");
+ snprintf(ODBCG(lasterrormsg), sizeof(ODBCG(lasterrormsg)), "Failed to fetch error message");
}
if (conn_resource) {
- memcpy(conn_resource->laststate, state, sizeof(state));
- memcpy(conn_resource->lasterrormsg, errormsg, sizeof(errormsg));
+ memcpy(conn_resource->laststate, ODBCG(laststate), sizeof(ODBCG(laststate)));
+ memcpy(conn_resource->lasterrormsg, ODBCG(lasterrormsg), sizeof(ODBCG(lasterrormsg)));
}
- memcpy(ODBCG(laststate), state, sizeof(state));
- memcpy(ODBCG(lasterrormsg), errormsg, sizeof(errormsg));
if (func) {
- php_error_docref(NULL, E_WARNING, "SQL error: %s, SQL state %s in %s", errormsg, state, func);
+ php_error_docref(NULL, E_WARNING, "SQL error: %s, SQL state %s in %s", ODBCG(lasterrormsg), ODBCG(laststate), func);
} else {
- php_error_docref(NULL, E_WARNING, "SQL error: %s, SQL state %s", errormsg, state);
+ php_error_docref(NULL, E_WARNING, "SQL error: %s, SQL state %s", ODBCG(lasterrormsg), ODBCG(laststate));
}
/*
} while (SQL_SUCCEEDED(rc));