diff options
author | Anatol Belski <ab@php.net> | 2016-11-07 21:09:03 +0100 |
---|---|---|
committer | Anatol Belski <ab@php.net> | 2016-11-07 21:09:03 +0100 |
commit | 0c2156d190289d8332e10dad4ea4b83e2cbcdf21 (patch) | |
tree | 76aae5190e60c4bbbfca276115ca866db6b91bcf /ext/odbc | |
parent | a67b894cc85908c2b74d38aabf2f665aa6df1f3b (diff) | |
download | php-git-0c2156d190289d8332e10dad4ea4b83e2cbcdf21.tar.gz |
avoid unneeded copying
Diffstat (limited to 'ext/odbc')
-rw-r--r-- | ext/odbc/php_odbc.c | 18 |
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)); |