From 0c84e40e88cdfde8d503af0f189d764e48f6eeb0 Mon Sep 17 00:00:00 2001 From: Calvin Buckley Date: Mon, 27 Apr 2026 14:04:36 -0300 Subject: [PATCH 1/5] ext/odbc: fast ZPP for funcs that take single object --- ext/odbc/php_odbc.c | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/ext/odbc/php_odbc.c b/ext/odbc/php_odbc.c index 95c872c293f1..21a05dee967a 100644 --- a/ext/odbc/php_odbc.c +++ b/ext/odbc/php_odbc.c @@ -761,9 +761,9 @@ void odbc_transact(INTERNAL_FUNCTION_PARAMETERS, int type) RETCODE rc; zval *pv_conn; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "O", &pv_conn, odbc_connection_ce) == FAILURE) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + ZEND_PARSE_PARAMETERS_END(); odbc_connection *conn = Z_ODBC_CONNECTION_P(pv_conn); CHECK_ODBC_CONNECTION(conn); @@ -1128,9 +1128,9 @@ PHP_FUNCTION(odbc_cursor) odbc_result *result; RETCODE rc; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "O", &pv_res, odbc_result_ce) == FAILURE) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) + ZEND_PARSE_PARAMETERS_END(); result = Z_ODBC_RESULT_P(pv_res); CHECK_ODBC_RESULT(result); @@ -1858,9 +1858,9 @@ PHP_FUNCTION(odbc_free_result) zval *pv_res; odbc_result *result; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "O", &pv_res, odbc_result_ce) == FAILURE) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) + ZEND_PARSE_PARAMETERS_END(); result = Z_ODBC_RESULT_P(pv_res); CHECK_ODBC_RESULT(result); @@ -2177,9 +2177,9 @@ PHP_FUNCTION(odbc_close) zval *pv_conn; odbc_link *link; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "O", &pv_conn, odbc_connection_ce) == FAILURE) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + ZEND_PARSE_PARAMETERS_END(); link = Z_ODBC_LINK_P(pv_conn); odbc_connection *connection = Z_ODBC_CONNECTION_P(pv_conn); @@ -2200,9 +2200,9 @@ PHP_FUNCTION(odbc_num_rows) SQLLEN rows; zval *pv_res; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "O", &pv_res, odbc_result_ce) == FAILURE) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) + ZEND_PARSE_PARAMETERS_END(); result = Z_ODBC_RESULT_P(pv_res); CHECK_ODBC_RESULT(result); @@ -2219,9 +2219,9 @@ PHP_FUNCTION(odbc_next_result) zval *pv_res; int rc, i; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "O", &pv_res, odbc_result_ce) == FAILURE) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) + ZEND_PARSE_PARAMETERS_END(); result = Z_ODBC_RESULT_P(pv_res); CHECK_ODBC_RESULT(result); @@ -2265,9 +2265,9 @@ PHP_FUNCTION(odbc_num_fields) odbc_result *result; zval *pv_res; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "O", &pv_res, odbc_result_ce) == FAILURE) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) + ZEND_PARSE_PARAMETERS_END(); result = Z_ODBC_RESULT_P(pv_res); CHECK_ODBC_RESULT(result); From d5044b202b7388708146979cf25f65135b401c85 Mon Sep 17 00:00:00 2001 From: Calvin Buckley Date: Mon, 27 Apr 2026 14:38:35 -0300 Subject: [PATCH 2/5] ext/odbc: convert all to fast ZPP --- ext/odbc/php_odbc.c | 215 ++++++++++++++++++++++++++++---------------- 1 file changed, 136 insertions(+), 79 deletions(-) diff --git a/ext/odbc/php_odbc.c b/ext/odbc/php_odbc.c index 21a05dee967a..afd19e9b4aa3 100644 --- a/ext/odbc/php_odbc.c +++ b/ext/odbc/php_odbc.c @@ -635,9 +635,10 @@ void php_odbc_fetch_attribs(INTERNAL_FUNCTION_PARAMETERS, int mode) zval *pv_res; zend_long flag; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "Ol", &pv_res, odbc_result_ce, &flag) == FAILURE) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) + Z_PARAM_LONG(flag) + ZEND_PARSE_PARAMETERS_END(); result = Z_ODBC_RESULT_P(pv_res); CHECK_ODBC_RESULT(result); @@ -786,9 +787,10 @@ void odbc_column_lengths(INTERNAL_FUNCTION_PARAMETERS, int type) zval *pv_res; zend_long pv_num; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "Ol", &pv_res, odbc_result_ce, &pv_num) == FAILURE) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) + Z_PARAM_LONG(pv_num) + ZEND_PARSE_PARAMETERS_END(); result = Z_ODBC_RESULT_P(pv_res); CHECK_ODBC_RESULT(result); @@ -862,9 +864,10 @@ PHP_FUNCTION(odbc_prepare) int i; SQLUINTEGER scrollopts; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "Os", &pv_conn, odbc_connection_ce, &query, &query_len) == FAILURE) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + Z_PARAM_STRING(query, query_len) + ZEND_PARSE_PARAMETERS_END(); odbc_connection *conn = Z_ODBC_CONNECTION_P(pv_conn); CHECK_ODBC_CONNECTION(conn); @@ -975,9 +978,11 @@ PHP_FUNCTION(odbc_execute) int i; RETCODE rc; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "O|h", &pv_res, odbc_result_ce, &pv_param_ht) == FAILURE) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(1, 2) + Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) + Z_PARAM_OPTIONAL + Z_PARAM_ARRAY_HT(pv_param_ht) + ZEND_PARSE_PARAMETERS_END(); result = Z_ODBC_RESULT_P(pv_res); CHECK_ODBC_RESULT(result); @@ -1183,9 +1188,10 @@ PHP_FUNCTION(odbc_data_source) UCHAR server_name[100], desc[200]; SQLSMALLINT len1=0, len2=0, fetch_type; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "Ol", &zv_conn, odbc_connection_ce, &zv_fetch_type) == FAILURE) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_OBJECT_OF_CLASS(zv_conn, odbc_connection_ce) + Z_PARAM_LONG(zv_fetch_type) + ZEND_PARSE_PARAMETERS_END(); fetch_type = (SQLSMALLINT) zv_fetch_type; @@ -1241,9 +1247,10 @@ PHP_FUNCTION(odbc_exec) RETCODE rc; SQLUINTEGER scrollopts; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "Os", &pv_conn, odbc_connection_ce, &query, &query_len) == FAILURE) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + Z_PARAM_STRING(query, query_len) + ZEND_PARSE_PARAMETERS_END(); odbc_connection *conn = Z_ODBC_CONNECTION_P(pv_conn); CHECK_ODBC_CONNECTION(conn); @@ -1730,9 +1737,11 @@ PHP_FUNCTION(odbc_result_all) size_t i, pv_format_len = 0; SQLSMALLINT sql_c_type; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "O|s", &pv_res, odbc_result_ce, &pv_format, &pv_format_len) == FAILURE) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(1, 2) + Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) + Z_PARAM_OPTIONAL + Z_PARAM_STRING(pv_format, pv_format_len) + ZEND_PARSE_PARAMETERS_END(); result = Z_ODBC_RESULT_P(pv_res); CHECK_ODBC_RESULT(result); @@ -2283,9 +2292,10 @@ PHP_FUNCTION(odbc_field_name) zval *pv_res; zend_long pv_num; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "Ol", &pv_res, odbc_result_ce, &pv_num) == FAILURE) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) + Z_PARAM_LONG(pv_num) + ZEND_PARSE_PARAMETERS_END(); result = Z_ODBC_RESULT_P(pv_res); CHECK_ODBC_RESULT(result); @@ -2318,9 +2328,10 @@ PHP_FUNCTION(odbc_field_type) zval *pv_res; zend_long pv_num; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "Ol", &pv_res, odbc_result_ce, &pv_num) == FAILURE) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) + Z_PARAM_LONG(pv_num) + ZEND_PARSE_PARAMETERS_END(); result = Z_ODBC_RESULT_P(pv_res); CHECK_ODBC_RESULT(result); @@ -2367,9 +2378,10 @@ PHP_FUNCTION(odbc_field_num) odbc_result *result; zval *pv_res; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "Os", &pv_res, odbc_result_ce, &fname, &fname_len) == FAILURE) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) + Z_PARAM_STRING(fname, fname_len) + ZEND_PARSE_PARAMETERS_END(); result = Z_ODBC_RESULT_P(pv_res); CHECK_ODBC_RESULT(result); @@ -2402,9 +2414,11 @@ PHP_FUNCTION(odbc_autocommit) bool pv_onoff = false; bool pv_onoff_is_null = true; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "O|b!", &pv_conn, odbc_connection_ce, &pv_onoff, &pv_onoff_is_null) == FAILURE) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(1, 2) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + Z_PARAM_OPTIONAL + Z_PARAM_BOOL_OR_NULL(pv_onoff, pv_onoff_is_null) + ZEND_PARSE_PARAMETERS_END(); odbc_connection *conn = Z_ODBC_CONNECTION_P(pv_conn); CHECK_ODBC_CONNECTION(conn); @@ -2450,9 +2464,10 @@ static void php_odbc_lasterror(INTERNAL_FUNCTION_PARAMETERS, int mode) zval *pv_handle = NULL; char *ret; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "|O!", &pv_handle, odbc_connection_ce) == FAILURE) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(0, 1) + Z_PARAM_OPTIONAL + Z_PARAM_OBJECT_OF_CLASS(pv_handle, odbc_connection_ce) + ZEND_PARSE_PARAMETERS_END(); if (pv_handle) { conn = Z_ODBC_CONNECTION_P(pv_handle); @@ -2504,9 +2519,12 @@ PHP_FUNCTION(odbc_setoption) zval *pv_handle; zend_long pv_which, pv_opt, pv_val; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "olll", &pv_handle, &pv_which, &pv_opt, &pv_val) == FAILURE) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(4, 4) + Z_PARAM_OBJECT(pv_handle) + Z_PARAM_LONG(pv_which) + Z_PARAM_LONG(pv_opt) + Z_PARAM_LONG(pv_val) + ZEND_PARSE_PARAMETERS_END(); switch (pv_which) { case 1: /* SQLSetConnectOption */ @@ -2564,10 +2582,14 @@ PHP_FUNCTION(odbc_tables) size_t cat_len = 0, schema_len = 0, table_len = 0, type_len = 0; RETCODE rc; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "O|s!s!s!s!", &pv_conn, odbc_connection_ce, &cat, &cat_len, &schema, &schema_len, - &table, &table_len, &type, &type_len) == FAILURE) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(1, 5) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + Z_PARAM_OPTIONAL + Z_PARAM_STRING_OR_NULL(cat, cat_len) + Z_PARAM_STRING_OR_NULL(schema, schema_len) + Z_PARAM_STRING_OR_NULL(table, table_len) + Z_PARAM_STRING_OR_NULL(type, type_len) + ZEND_PARSE_PARAMETERS_END(); odbc_connection *conn = Z_ODBC_CONNECTION_P(pv_conn); CHECK_ODBC_CONNECTION(conn); @@ -2629,10 +2651,14 @@ PHP_FUNCTION(odbc_columns) size_t cat_len = 0, schema_len = 0, table_len = 0, column_len = 0; RETCODE rc; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "O|s!s!s!s!", &pv_conn, odbc_connection_ce, &cat, &cat_len, &schema, &schema_len, - &table, &table_len, &column, &column_len) == FAILURE) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(1, 5) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + Z_PARAM_OPTIONAL + Z_PARAM_STRING_OR_NULL(cat, cat_len) + Z_PARAM_STRING_OR_NULL(schema, schema_len) + Z_PARAM_STRING_OR_NULL(table, table_len) + Z_PARAM_STRING_OR_NULL(column, column_len) + ZEND_PARSE_PARAMETERS_END(); odbc_connection *conn = Z_ODBC_CONNECTION_P(pv_conn); CHECK_ODBC_CONNECTION(conn); @@ -2696,10 +2722,13 @@ PHP_FUNCTION(odbc_columnprivileges) size_t cat_len = 0, schema_len, table_len, column_len; RETCODE rc; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "Os!sss", &pv_conn, odbc_connection_ce, &cat, &cat_len, &schema, &schema_len, - &table, &table_len, &column, &column_len) == FAILURE) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(5, 5) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + Z_PARAM_STRING_OR_NULL(cat, cat_len) + Z_PARAM_STRING(schema, schema_len) + Z_PARAM_STRING(table, table_len) + Z_PARAM_STRING(column, column_len) + ZEND_PARSE_PARAMETERS_END(); odbc_connection *conn = Z_ODBC_CONNECTION_P(pv_conn); CHECK_ODBC_CONNECTION(conn); @@ -2756,10 +2785,15 @@ PHP_FUNCTION(odbc_foreignkeys) size_t pcat_len = 0, pschema_len, ptable_len, fcat_len, fschema_len, ftable_len; RETCODE rc; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "Os!sssss", &pv_conn, odbc_connection_ce, &pcat, &pcat_len, &pschema, &pschema_len, - &ptable, &ptable_len, &fcat, &fcat_len, &fschema, &fschema_len, &ftable, &ftable_len) == FAILURE) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(7, 7) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + Z_PARAM_STRING_OR_NULL(pcat, pcat_len) + Z_PARAM_STRING(pschema, pschema_len) + Z_PARAM_STRING(ptable, ptable_len) + Z_PARAM_STRING(fcat, fcat_len) + Z_PARAM_STRING(fschema, fschema_len) + Z_PARAM_STRING(ftable, ftable_len) + ZEND_PARSE_PARAMETERS_END(); #if defined(HAVE_IBMDB2) #define EMPTY_TO_NULL(xstr) \ @@ -2830,9 +2864,11 @@ PHP_FUNCTION(odbc_gettypeinfo) RETCODE rc; SQLSMALLINT data_type; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "O|l", &pv_conn, odbc_connection_ce, &pv_data_type) == FAILURE) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + Z_PARAM_OPTIONAL + Z_PARAM_LONG(pv_data_type) + ZEND_PARSE_PARAMETERS_END(); data_type = (SQLSMALLINT) pv_data_type; @@ -2887,9 +2923,12 @@ PHP_FUNCTION(odbc_primarykeys) size_t cat_len = 0, schema_len, table_len; RETCODE rc; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "Os!ss", &pv_conn, odbc_connection_ce, &cat, &cat_len, &schema, &schema_len, &table, &table_len) == FAILURE) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(4, 4) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + Z_PARAM_STRING_OR_NULL(cat, cat_len) + Z_PARAM_STRING(schema, schema_len) + Z_PARAM_STRING(table, table_len) + ZEND_PARSE_PARAMETERS_END(); odbc_connection *conn = Z_ODBC_CONNECTION_P(pv_conn); CHECK_ODBC_CONNECTION(conn); @@ -2945,10 +2984,13 @@ PHP_FUNCTION(odbc_procedurecolumns) size_t cat_len = 0, schema_len = 0, proc_len = 0, col_len = 0; RETCODE rc; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "O|s!s!s!s!", &pv_conn, odbc_connection_ce, &cat, &cat_len, &schema, &schema_len, - &proc, &proc_len, &col, &col_len) == FAILURE) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(1, 5) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + Z_PARAM_STRING_OR_NULL(cat, cat_len) + Z_PARAM_STRING_OR_NULL(schema, schema_len) + Z_PARAM_STRING_OR_NULL(proc, proc_len) + Z_PARAM_STRING_OR_NULL(col, col_len) + ZEND_PARSE_PARAMETERS_END(); odbc_connection *conn = Z_ODBC_CONNECTION_P(pv_conn); CHECK_ODBC_CONNECTION(conn); @@ -3005,9 +3047,12 @@ PHP_FUNCTION(odbc_procedures) size_t cat_len = 0, schema_len = 0, proc_len = 0; RETCODE rc; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "O|s!s!s!", &pv_conn, odbc_connection_ce, &cat, &cat_len, &schema, &schema_len, &proc, &proc_len) == FAILURE) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(1, 4) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + Z_PARAM_STRING_OR_NULL(cat, cat_len) + Z_PARAM_STRING_OR_NULL(schema, schema_len) + Z_PARAM_STRING_OR_NULL(proc, proc_len) + ZEND_PARSE_PARAMETERS_END(); odbc_connection *conn = Z_ODBC_CONNECTION_P(pv_conn); CHECK_ODBC_CONNECTION(conn); @@ -3065,10 +3110,15 @@ PHP_FUNCTION(odbc_specialcolumns) SQLUSMALLINT type, scope, nullable; RETCODE rc; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "Ols!ssll", &pv_conn, odbc_connection_ce, &vtype, &cat, &cat_len, &schema, &schema_len, - &name, &name_len, &vscope, &vnullable) == FAILURE) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(7, 7) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + Z_PARAM_LONG(vtype) + Z_PARAM_STRING_OR_NULL(cat, cat_len) + Z_PARAM_STRING(schema, schema_len) + Z_PARAM_STRING(name, name_len) + Z_PARAM_LONG(vscope) + Z_PARAM_LONG(vnullable) + ZEND_PARSE_PARAMETERS_END(); type = (SQLUSMALLINT) vtype; scope = (SQLUSMALLINT) vscope; @@ -3132,10 +3182,14 @@ PHP_FUNCTION(odbc_statistics) SQLUSMALLINT unique, reserved; RETCODE rc; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "Os!ssll", &pv_conn, odbc_connection_ce, &cat, &cat_len, &schema, &schema_len, - &name, &name_len, &vunique, &vreserved) == FAILURE) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(6, 6) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + Z_PARAM_STRING_OR_NULL(cat, cat_len) + Z_PARAM_STRING(schema, schema_len) + Z_PARAM_STRING(name, name_len) + Z_PARAM_LONG(vunique) + Z_PARAM_LONG(vreserved) /* XXX: Documented as 'accuracy' */ + ZEND_PARSE_PARAMETERS_END(); unique = (SQLUSMALLINT) vunique; reserved = (SQLUSMALLINT) vreserved; @@ -3196,9 +3250,12 @@ PHP_FUNCTION(odbc_tableprivileges) size_t cat_len = 0, schema_len, table_len; RETCODE rc; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "Os!ss", &pv_conn, odbc_connection_ce, &cat, &cat_len, &schema, &schema_len, &table, &table_len) == FAILURE) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(4, 4) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + Z_PARAM_STRING_OR_NULL(cat, cat_len) + Z_PARAM_STRING(schema, schema_len) + Z_PARAM_STRING(table, table_len) + ZEND_PARSE_PARAMETERS_END(); odbc_connection *conn = Z_ODBC_CONNECTION_P(pv_conn); CHECK_ODBC_CONNECTION(conn); From 93e3d2c70f3ec7ef9af86726fcd9c5a627430951 Mon Sep 17 00:00:00 2001 From: Calvin Buckley Date: Tue, 28 Apr 2026 00:32:45 -0300 Subject: [PATCH 3/5] ext/odbc: correct spaces into tabs --- ext/odbc/php_odbc.c | 180 ++++++++++++++++++++++---------------------- 1 file changed, 90 insertions(+), 90 deletions(-) diff --git a/ext/odbc/php_odbc.c b/ext/odbc/php_odbc.c index afd19e9b4aa3..35673a60705d 100644 --- a/ext/odbc/php_odbc.c +++ b/ext/odbc/php_odbc.c @@ -635,10 +635,10 @@ void php_odbc_fetch_attribs(INTERNAL_FUNCTION_PARAMETERS, int mode) zval *pv_res; zend_long flag; - ZEND_PARSE_PARAMETERS_START(2, 2) - Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) Z_PARAM_LONG(flag) - ZEND_PARSE_PARAMETERS_END(); + ZEND_PARSE_PARAMETERS_END(); result = Z_ODBC_RESULT_P(pv_res); CHECK_ODBC_RESULT(result); @@ -762,9 +762,9 @@ void odbc_transact(INTERNAL_FUNCTION_PARAMETERS, int type) RETCODE rc; zval *pv_conn; - ZEND_PARSE_PARAMETERS_START(1, 1) - Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) - ZEND_PARSE_PARAMETERS_END(); + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + ZEND_PARSE_PARAMETERS_END(); odbc_connection *conn = Z_ODBC_CONNECTION_P(pv_conn); CHECK_ODBC_CONNECTION(conn); @@ -787,10 +787,10 @@ void odbc_column_lengths(INTERNAL_FUNCTION_PARAMETERS, int type) zval *pv_res; zend_long pv_num; - ZEND_PARSE_PARAMETERS_START(2, 2) - Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) Z_PARAM_LONG(pv_num) - ZEND_PARSE_PARAMETERS_END(); + ZEND_PARSE_PARAMETERS_END(); result = Z_ODBC_RESULT_P(pv_res); CHECK_ODBC_RESULT(result); @@ -864,10 +864,10 @@ PHP_FUNCTION(odbc_prepare) int i; SQLUINTEGER scrollopts; - ZEND_PARSE_PARAMETERS_START(2, 2) - Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) Z_PARAM_STRING(query, query_len) - ZEND_PARSE_PARAMETERS_END(); + ZEND_PARSE_PARAMETERS_END(); odbc_connection *conn = Z_ODBC_CONNECTION_P(pv_conn); CHECK_ODBC_CONNECTION(conn); @@ -978,11 +978,11 @@ PHP_FUNCTION(odbc_execute) int i; RETCODE rc; - ZEND_PARSE_PARAMETERS_START(1, 2) - Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) + ZEND_PARSE_PARAMETERS_START(1, 2) + Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) Z_PARAM_OPTIONAL Z_PARAM_ARRAY_HT(pv_param_ht) - ZEND_PARSE_PARAMETERS_END(); + ZEND_PARSE_PARAMETERS_END(); result = Z_ODBC_RESULT_P(pv_res); CHECK_ODBC_RESULT(result); @@ -1133,9 +1133,9 @@ PHP_FUNCTION(odbc_cursor) odbc_result *result; RETCODE rc; - ZEND_PARSE_PARAMETERS_START(1, 1) - Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) - ZEND_PARSE_PARAMETERS_END(); + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) + ZEND_PARSE_PARAMETERS_END(); result = Z_ODBC_RESULT_P(pv_res); CHECK_ODBC_RESULT(result); @@ -1188,10 +1188,10 @@ PHP_FUNCTION(odbc_data_source) UCHAR server_name[100], desc[200]; SQLSMALLINT len1=0, len2=0, fetch_type; - ZEND_PARSE_PARAMETERS_START(2, 2) - Z_PARAM_OBJECT_OF_CLASS(zv_conn, odbc_connection_ce) + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_OBJECT_OF_CLASS(zv_conn, odbc_connection_ce) Z_PARAM_LONG(zv_fetch_type) - ZEND_PARSE_PARAMETERS_END(); + ZEND_PARSE_PARAMETERS_END(); fetch_type = (SQLSMALLINT) zv_fetch_type; @@ -1247,10 +1247,10 @@ PHP_FUNCTION(odbc_exec) RETCODE rc; SQLUINTEGER scrollopts; - ZEND_PARSE_PARAMETERS_START(2, 2) - Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) Z_PARAM_STRING(query, query_len) - ZEND_PARSE_PARAMETERS_END(); + ZEND_PARSE_PARAMETERS_END(); odbc_connection *conn = Z_ODBC_CONNECTION_P(pv_conn); CHECK_ODBC_CONNECTION(conn); @@ -1867,9 +1867,9 @@ PHP_FUNCTION(odbc_free_result) zval *pv_res; odbc_result *result; - ZEND_PARSE_PARAMETERS_START(1, 1) - Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) - ZEND_PARSE_PARAMETERS_END(); + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) + ZEND_PARSE_PARAMETERS_END(); result = Z_ODBC_RESULT_P(pv_res); CHECK_ODBC_RESULT(result); @@ -2186,9 +2186,9 @@ PHP_FUNCTION(odbc_close) zval *pv_conn; odbc_link *link; - ZEND_PARSE_PARAMETERS_START(1, 1) - Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) - ZEND_PARSE_PARAMETERS_END(); + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + ZEND_PARSE_PARAMETERS_END(); link = Z_ODBC_LINK_P(pv_conn); odbc_connection *connection = Z_ODBC_CONNECTION_P(pv_conn); @@ -2209,9 +2209,9 @@ PHP_FUNCTION(odbc_num_rows) SQLLEN rows; zval *pv_res; - ZEND_PARSE_PARAMETERS_START(1, 1) - Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) - ZEND_PARSE_PARAMETERS_END(); + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) + ZEND_PARSE_PARAMETERS_END(); result = Z_ODBC_RESULT_P(pv_res); CHECK_ODBC_RESULT(result); @@ -2228,9 +2228,9 @@ PHP_FUNCTION(odbc_next_result) zval *pv_res; int rc, i; - ZEND_PARSE_PARAMETERS_START(1, 1) - Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) - ZEND_PARSE_PARAMETERS_END(); + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) + ZEND_PARSE_PARAMETERS_END(); result = Z_ODBC_RESULT_P(pv_res); CHECK_ODBC_RESULT(result); @@ -2274,9 +2274,9 @@ PHP_FUNCTION(odbc_num_fields) odbc_result *result; zval *pv_res; - ZEND_PARSE_PARAMETERS_START(1, 1) - Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) - ZEND_PARSE_PARAMETERS_END(); + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) + ZEND_PARSE_PARAMETERS_END(); result = Z_ODBC_RESULT_P(pv_res); CHECK_ODBC_RESULT(result); @@ -2292,10 +2292,10 @@ PHP_FUNCTION(odbc_field_name) zval *pv_res; zend_long pv_num; - ZEND_PARSE_PARAMETERS_START(2, 2) - Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) Z_PARAM_LONG(pv_num) - ZEND_PARSE_PARAMETERS_END(); + ZEND_PARSE_PARAMETERS_END(); result = Z_ODBC_RESULT_P(pv_res); CHECK_ODBC_RESULT(result); @@ -2328,10 +2328,10 @@ PHP_FUNCTION(odbc_field_type) zval *pv_res; zend_long pv_num; - ZEND_PARSE_PARAMETERS_START(2, 2) - Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) Z_PARAM_LONG(pv_num) - ZEND_PARSE_PARAMETERS_END(); + ZEND_PARSE_PARAMETERS_END(); result = Z_ODBC_RESULT_P(pv_res); CHECK_ODBC_RESULT(result); @@ -2378,10 +2378,10 @@ PHP_FUNCTION(odbc_field_num) odbc_result *result; zval *pv_res; - ZEND_PARSE_PARAMETERS_START(2, 2) - Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) Z_PARAM_STRING(fname, fname_len) - ZEND_PARSE_PARAMETERS_END(); + ZEND_PARSE_PARAMETERS_END(); result = Z_ODBC_RESULT_P(pv_res); CHECK_ODBC_RESULT(result); @@ -2414,11 +2414,11 @@ PHP_FUNCTION(odbc_autocommit) bool pv_onoff = false; bool pv_onoff_is_null = true; - ZEND_PARSE_PARAMETERS_START(1, 2) - Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + ZEND_PARSE_PARAMETERS_START(1, 2) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) Z_PARAM_OPTIONAL Z_PARAM_BOOL_OR_NULL(pv_onoff, pv_onoff_is_null) - ZEND_PARSE_PARAMETERS_END(); + ZEND_PARSE_PARAMETERS_END(); odbc_connection *conn = Z_ODBC_CONNECTION_P(pv_conn); CHECK_ODBC_CONNECTION(conn); @@ -2464,10 +2464,10 @@ static void php_odbc_lasterror(INTERNAL_FUNCTION_PARAMETERS, int mode) zval *pv_handle = NULL; char *ret; - ZEND_PARSE_PARAMETERS_START(0, 1) + ZEND_PARSE_PARAMETERS_START(0, 1) Z_PARAM_OPTIONAL - Z_PARAM_OBJECT_OF_CLASS(pv_handle, odbc_connection_ce) - ZEND_PARSE_PARAMETERS_END(); + Z_PARAM_OBJECT_OF_CLASS(pv_handle, odbc_connection_ce) + ZEND_PARSE_PARAMETERS_END(); if (pv_handle) { conn = Z_ODBC_CONNECTION_P(pv_handle); @@ -2519,12 +2519,12 @@ PHP_FUNCTION(odbc_setoption) zval *pv_handle; zend_long pv_which, pv_opt, pv_val; - ZEND_PARSE_PARAMETERS_START(4, 4) - Z_PARAM_OBJECT(pv_handle) + ZEND_PARSE_PARAMETERS_START(4, 4) + Z_PARAM_OBJECT(pv_handle) Z_PARAM_LONG(pv_which) Z_PARAM_LONG(pv_opt) Z_PARAM_LONG(pv_val) - ZEND_PARSE_PARAMETERS_END(); + ZEND_PARSE_PARAMETERS_END(); switch (pv_which) { case 1: /* SQLSetConnectOption */ @@ -2582,14 +2582,14 @@ PHP_FUNCTION(odbc_tables) size_t cat_len = 0, schema_len = 0, table_len = 0, type_len = 0; RETCODE rc; - ZEND_PARSE_PARAMETERS_START(1, 5) - Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + ZEND_PARSE_PARAMETERS_START(1, 5) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) Z_PARAM_OPTIONAL Z_PARAM_STRING_OR_NULL(cat, cat_len) Z_PARAM_STRING_OR_NULL(schema, schema_len) Z_PARAM_STRING_OR_NULL(table, table_len) Z_PARAM_STRING_OR_NULL(type, type_len) - ZEND_PARSE_PARAMETERS_END(); + ZEND_PARSE_PARAMETERS_END(); odbc_connection *conn = Z_ODBC_CONNECTION_P(pv_conn); CHECK_ODBC_CONNECTION(conn); @@ -2651,14 +2651,14 @@ PHP_FUNCTION(odbc_columns) size_t cat_len = 0, schema_len = 0, table_len = 0, column_len = 0; RETCODE rc; - ZEND_PARSE_PARAMETERS_START(1, 5) - Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + ZEND_PARSE_PARAMETERS_START(1, 5) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) Z_PARAM_OPTIONAL Z_PARAM_STRING_OR_NULL(cat, cat_len) Z_PARAM_STRING_OR_NULL(schema, schema_len) Z_PARAM_STRING_OR_NULL(table, table_len) Z_PARAM_STRING_OR_NULL(column, column_len) - ZEND_PARSE_PARAMETERS_END(); + ZEND_PARSE_PARAMETERS_END(); odbc_connection *conn = Z_ODBC_CONNECTION_P(pv_conn); CHECK_ODBC_CONNECTION(conn); @@ -2722,13 +2722,13 @@ PHP_FUNCTION(odbc_columnprivileges) size_t cat_len = 0, schema_len, table_len, column_len; RETCODE rc; - ZEND_PARSE_PARAMETERS_START(5, 5) - Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + ZEND_PARSE_PARAMETERS_START(5, 5) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) Z_PARAM_STRING_OR_NULL(cat, cat_len) Z_PARAM_STRING(schema, schema_len) Z_PARAM_STRING(table, table_len) Z_PARAM_STRING(column, column_len) - ZEND_PARSE_PARAMETERS_END(); + ZEND_PARSE_PARAMETERS_END(); odbc_connection *conn = Z_ODBC_CONNECTION_P(pv_conn); CHECK_ODBC_CONNECTION(conn); @@ -2785,15 +2785,15 @@ PHP_FUNCTION(odbc_foreignkeys) size_t pcat_len = 0, pschema_len, ptable_len, fcat_len, fschema_len, ftable_len; RETCODE rc; - ZEND_PARSE_PARAMETERS_START(7, 7) - Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + ZEND_PARSE_PARAMETERS_START(7, 7) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) Z_PARAM_STRING_OR_NULL(pcat, pcat_len) Z_PARAM_STRING(pschema, pschema_len) Z_PARAM_STRING(ptable, ptable_len) Z_PARAM_STRING(fcat, fcat_len) Z_PARAM_STRING(fschema, fschema_len) Z_PARAM_STRING(ftable, ftable_len) - ZEND_PARSE_PARAMETERS_END(); + ZEND_PARSE_PARAMETERS_END(); #if defined(HAVE_IBMDB2) #define EMPTY_TO_NULL(xstr) \ @@ -2864,11 +2864,11 @@ PHP_FUNCTION(odbc_gettypeinfo) RETCODE rc; SQLSMALLINT data_type; - ZEND_PARSE_PARAMETERS_START(2, 2) - Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) Z_PARAM_OPTIONAL Z_PARAM_LONG(pv_data_type) - ZEND_PARSE_PARAMETERS_END(); + ZEND_PARSE_PARAMETERS_END(); data_type = (SQLSMALLINT) pv_data_type; @@ -2923,12 +2923,12 @@ PHP_FUNCTION(odbc_primarykeys) size_t cat_len = 0, schema_len, table_len; RETCODE rc; - ZEND_PARSE_PARAMETERS_START(4, 4) - Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + ZEND_PARSE_PARAMETERS_START(4, 4) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) Z_PARAM_STRING_OR_NULL(cat, cat_len) Z_PARAM_STRING(schema, schema_len) Z_PARAM_STRING(table, table_len) - ZEND_PARSE_PARAMETERS_END(); + ZEND_PARSE_PARAMETERS_END(); odbc_connection *conn = Z_ODBC_CONNECTION_P(pv_conn); CHECK_ODBC_CONNECTION(conn); @@ -2984,13 +2984,13 @@ PHP_FUNCTION(odbc_procedurecolumns) size_t cat_len = 0, schema_len = 0, proc_len = 0, col_len = 0; RETCODE rc; - ZEND_PARSE_PARAMETERS_START(1, 5) - Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + ZEND_PARSE_PARAMETERS_START(1, 5) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) Z_PARAM_STRING_OR_NULL(cat, cat_len) Z_PARAM_STRING_OR_NULL(schema, schema_len) Z_PARAM_STRING_OR_NULL(proc, proc_len) Z_PARAM_STRING_OR_NULL(col, col_len) - ZEND_PARSE_PARAMETERS_END(); + ZEND_PARSE_PARAMETERS_END(); odbc_connection *conn = Z_ODBC_CONNECTION_P(pv_conn); CHECK_ODBC_CONNECTION(conn); @@ -3047,12 +3047,12 @@ PHP_FUNCTION(odbc_procedures) size_t cat_len = 0, schema_len = 0, proc_len = 0; RETCODE rc; - ZEND_PARSE_PARAMETERS_START(1, 4) - Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + ZEND_PARSE_PARAMETERS_START(1, 4) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) Z_PARAM_STRING_OR_NULL(cat, cat_len) Z_PARAM_STRING_OR_NULL(schema, schema_len) Z_PARAM_STRING_OR_NULL(proc, proc_len) - ZEND_PARSE_PARAMETERS_END(); + ZEND_PARSE_PARAMETERS_END(); odbc_connection *conn = Z_ODBC_CONNECTION_P(pv_conn); CHECK_ODBC_CONNECTION(conn); @@ -3110,15 +3110,15 @@ PHP_FUNCTION(odbc_specialcolumns) SQLUSMALLINT type, scope, nullable; RETCODE rc; - ZEND_PARSE_PARAMETERS_START(7, 7) - Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + ZEND_PARSE_PARAMETERS_START(7, 7) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) Z_PARAM_LONG(vtype) Z_PARAM_STRING_OR_NULL(cat, cat_len) Z_PARAM_STRING(schema, schema_len) Z_PARAM_STRING(name, name_len) Z_PARAM_LONG(vscope) Z_PARAM_LONG(vnullable) - ZEND_PARSE_PARAMETERS_END(); + ZEND_PARSE_PARAMETERS_END(); type = (SQLUSMALLINT) vtype; scope = (SQLUSMALLINT) vscope; @@ -3182,14 +3182,14 @@ PHP_FUNCTION(odbc_statistics) SQLUSMALLINT unique, reserved; RETCODE rc; - ZEND_PARSE_PARAMETERS_START(6, 6) - Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + ZEND_PARSE_PARAMETERS_START(6, 6) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) Z_PARAM_STRING_OR_NULL(cat, cat_len) Z_PARAM_STRING(schema, schema_len) Z_PARAM_STRING(name, name_len) Z_PARAM_LONG(vunique) Z_PARAM_LONG(vreserved) /* XXX: Documented as 'accuracy' */ - ZEND_PARSE_PARAMETERS_END(); + ZEND_PARSE_PARAMETERS_END(); unique = (SQLUSMALLINT) vunique; reserved = (SQLUSMALLINT) vreserved; @@ -3250,12 +3250,12 @@ PHP_FUNCTION(odbc_tableprivileges) size_t cat_len = 0, schema_len, table_len; RETCODE rc; - ZEND_PARSE_PARAMETERS_START(4, 4) - Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + ZEND_PARSE_PARAMETERS_START(4, 4) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) Z_PARAM_STRING_OR_NULL(cat, cat_len) Z_PARAM_STRING(schema, schema_len) Z_PARAM_STRING(table, table_len) - ZEND_PARSE_PARAMETERS_END(); + ZEND_PARSE_PARAMETERS_END(); odbc_connection *conn = Z_ODBC_CONNECTION_P(pv_conn); CHECK_ODBC_CONNECTION(conn); From 99214f65bd2d582710b1ad2b721034777ad3782e Mon Sep 17 00:00:00 2001 From: Calvin Buckley Date: Tue, 28 Apr 2026 00:33:56 -0300 Subject: [PATCH 4/5] ext/odbc: correct argument count --- ext/odbc/php_odbc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/odbc/php_odbc.c b/ext/odbc/php_odbc.c index 35673a60705d..49f14786afbd 100644 --- a/ext/odbc/php_odbc.c +++ b/ext/odbc/php_odbc.c @@ -2864,7 +2864,7 @@ PHP_FUNCTION(odbc_gettypeinfo) RETCODE rc; SQLSMALLINT data_type; - ZEND_PARSE_PARAMETERS_START(2, 2) + ZEND_PARSE_PARAMETERS_START(1, 2) Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) Z_PARAM_OPTIONAL Z_PARAM_LONG(pv_data_type) From d0aadee193571190c23afb632bc18e58f6bee825 Mon Sep 17 00:00:00 2001 From: Calvin Buckley Date: Tue, 28 Apr 2026 00:37:34 -0300 Subject: [PATCH 5/5] ext/odbc: correct spaces that i missed again --- ext/odbc/php_odbc.c | 60 ++++++++++++++++++++++----------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/ext/odbc/php_odbc.c b/ext/odbc/php_odbc.c index 49f14786afbd..a43a1eefb1e4 100644 --- a/ext/odbc/php_odbc.c +++ b/ext/odbc/php_odbc.c @@ -636,7 +636,7 @@ void php_odbc_fetch_attribs(INTERNAL_FUNCTION_PARAMETERS, int mode) zend_long flag; ZEND_PARSE_PARAMETERS_START(2, 2) - Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) + Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) Z_PARAM_LONG(flag) ZEND_PARSE_PARAMETERS_END(); @@ -763,7 +763,7 @@ void odbc_transact(INTERNAL_FUNCTION_PARAMETERS, int type) zval *pv_conn; ZEND_PARSE_PARAMETERS_START(1, 1) - Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) ZEND_PARSE_PARAMETERS_END(); odbc_connection *conn = Z_ODBC_CONNECTION_P(pv_conn); @@ -788,7 +788,7 @@ void odbc_column_lengths(INTERNAL_FUNCTION_PARAMETERS, int type) zend_long pv_num; ZEND_PARSE_PARAMETERS_START(2, 2) - Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) + Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) Z_PARAM_LONG(pv_num) ZEND_PARSE_PARAMETERS_END(); @@ -865,7 +865,7 @@ PHP_FUNCTION(odbc_prepare) SQLUINTEGER scrollopts; ZEND_PARSE_PARAMETERS_START(2, 2) - Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) Z_PARAM_STRING(query, query_len) ZEND_PARSE_PARAMETERS_END(); @@ -979,7 +979,7 @@ PHP_FUNCTION(odbc_execute) RETCODE rc; ZEND_PARSE_PARAMETERS_START(1, 2) - Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) + Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) Z_PARAM_OPTIONAL Z_PARAM_ARRAY_HT(pv_param_ht) ZEND_PARSE_PARAMETERS_END(); @@ -1134,7 +1134,7 @@ PHP_FUNCTION(odbc_cursor) RETCODE rc; ZEND_PARSE_PARAMETERS_START(1, 1) - Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) + Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) ZEND_PARSE_PARAMETERS_END(); result = Z_ODBC_RESULT_P(pv_res); @@ -1189,7 +1189,7 @@ PHP_FUNCTION(odbc_data_source) SQLSMALLINT len1=0, len2=0, fetch_type; ZEND_PARSE_PARAMETERS_START(2, 2) - Z_PARAM_OBJECT_OF_CLASS(zv_conn, odbc_connection_ce) + Z_PARAM_OBJECT_OF_CLASS(zv_conn, odbc_connection_ce) Z_PARAM_LONG(zv_fetch_type) ZEND_PARSE_PARAMETERS_END(); @@ -1248,7 +1248,7 @@ PHP_FUNCTION(odbc_exec) SQLUINTEGER scrollopts; ZEND_PARSE_PARAMETERS_START(2, 2) - Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) Z_PARAM_STRING(query, query_len) ZEND_PARSE_PARAMETERS_END(); @@ -1868,7 +1868,7 @@ PHP_FUNCTION(odbc_free_result) odbc_result *result; ZEND_PARSE_PARAMETERS_START(1, 1) - Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) + Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) ZEND_PARSE_PARAMETERS_END(); result = Z_ODBC_RESULT_P(pv_res); @@ -2187,7 +2187,7 @@ PHP_FUNCTION(odbc_close) odbc_link *link; ZEND_PARSE_PARAMETERS_START(1, 1) - Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) ZEND_PARSE_PARAMETERS_END(); link = Z_ODBC_LINK_P(pv_conn); @@ -2210,7 +2210,7 @@ PHP_FUNCTION(odbc_num_rows) zval *pv_res; ZEND_PARSE_PARAMETERS_START(1, 1) - Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) + Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) ZEND_PARSE_PARAMETERS_END(); result = Z_ODBC_RESULT_P(pv_res); @@ -2229,7 +2229,7 @@ PHP_FUNCTION(odbc_next_result) int rc, i; ZEND_PARSE_PARAMETERS_START(1, 1) - Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) + Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) ZEND_PARSE_PARAMETERS_END(); result = Z_ODBC_RESULT_P(pv_res); @@ -2275,7 +2275,7 @@ PHP_FUNCTION(odbc_num_fields) zval *pv_res; ZEND_PARSE_PARAMETERS_START(1, 1) - Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) + Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) ZEND_PARSE_PARAMETERS_END(); result = Z_ODBC_RESULT_P(pv_res); @@ -2293,7 +2293,7 @@ PHP_FUNCTION(odbc_field_name) zend_long pv_num; ZEND_PARSE_PARAMETERS_START(2, 2) - Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) + Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) Z_PARAM_LONG(pv_num) ZEND_PARSE_PARAMETERS_END(); @@ -2329,7 +2329,7 @@ PHP_FUNCTION(odbc_field_type) zend_long pv_num; ZEND_PARSE_PARAMETERS_START(2, 2) - Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) + Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) Z_PARAM_LONG(pv_num) ZEND_PARSE_PARAMETERS_END(); @@ -2379,7 +2379,7 @@ PHP_FUNCTION(odbc_field_num) zval *pv_res; ZEND_PARSE_PARAMETERS_START(2, 2) - Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) + Z_PARAM_OBJECT_OF_CLASS(pv_res, odbc_result_ce) Z_PARAM_STRING(fname, fname_len) ZEND_PARSE_PARAMETERS_END(); @@ -2415,7 +2415,7 @@ PHP_FUNCTION(odbc_autocommit) bool pv_onoff_is_null = true; ZEND_PARSE_PARAMETERS_START(1, 2) - Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) Z_PARAM_OPTIONAL Z_PARAM_BOOL_OR_NULL(pv_onoff, pv_onoff_is_null) ZEND_PARSE_PARAMETERS_END(); @@ -2466,7 +2466,7 @@ static void php_odbc_lasterror(INTERNAL_FUNCTION_PARAMETERS, int mode) ZEND_PARSE_PARAMETERS_START(0, 1) Z_PARAM_OPTIONAL - Z_PARAM_OBJECT_OF_CLASS(pv_handle, odbc_connection_ce) + Z_PARAM_OBJECT_OF_CLASS(pv_handle, odbc_connection_ce) ZEND_PARSE_PARAMETERS_END(); if (pv_handle) { @@ -2520,7 +2520,7 @@ PHP_FUNCTION(odbc_setoption) zend_long pv_which, pv_opt, pv_val; ZEND_PARSE_PARAMETERS_START(4, 4) - Z_PARAM_OBJECT(pv_handle) + Z_PARAM_OBJECT(pv_handle) Z_PARAM_LONG(pv_which) Z_PARAM_LONG(pv_opt) Z_PARAM_LONG(pv_val) @@ -2583,7 +2583,7 @@ PHP_FUNCTION(odbc_tables) RETCODE rc; ZEND_PARSE_PARAMETERS_START(1, 5) - Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) Z_PARAM_OPTIONAL Z_PARAM_STRING_OR_NULL(cat, cat_len) Z_PARAM_STRING_OR_NULL(schema, schema_len) @@ -2652,7 +2652,7 @@ PHP_FUNCTION(odbc_columns) RETCODE rc; ZEND_PARSE_PARAMETERS_START(1, 5) - Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) Z_PARAM_OPTIONAL Z_PARAM_STRING_OR_NULL(cat, cat_len) Z_PARAM_STRING_OR_NULL(schema, schema_len) @@ -2723,7 +2723,7 @@ PHP_FUNCTION(odbc_columnprivileges) RETCODE rc; ZEND_PARSE_PARAMETERS_START(5, 5) - Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) Z_PARAM_STRING_OR_NULL(cat, cat_len) Z_PARAM_STRING(schema, schema_len) Z_PARAM_STRING(table, table_len) @@ -2786,7 +2786,7 @@ PHP_FUNCTION(odbc_foreignkeys) RETCODE rc; ZEND_PARSE_PARAMETERS_START(7, 7) - Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) Z_PARAM_STRING_OR_NULL(pcat, pcat_len) Z_PARAM_STRING(pschema, pschema_len) Z_PARAM_STRING(ptable, ptable_len) @@ -2865,7 +2865,7 @@ PHP_FUNCTION(odbc_gettypeinfo) SQLSMALLINT data_type; ZEND_PARSE_PARAMETERS_START(1, 2) - Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) Z_PARAM_OPTIONAL Z_PARAM_LONG(pv_data_type) ZEND_PARSE_PARAMETERS_END(); @@ -2924,7 +2924,7 @@ PHP_FUNCTION(odbc_primarykeys) RETCODE rc; ZEND_PARSE_PARAMETERS_START(4, 4) - Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) Z_PARAM_STRING_OR_NULL(cat, cat_len) Z_PARAM_STRING(schema, schema_len) Z_PARAM_STRING(table, table_len) @@ -2985,7 +2985,7 @@ PHP_FUNCTION(odbc_procedurecolumns) RETCODE rc; ZEND_PARSE_PARAMETERS_START(1, 5) - Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) Z_PARAM_STRING_OR_NULL(cat, cat_len) Z_PARAM_STRING_OR_NULL(schema, schema_len) Z_PARAM_STRING_OR_NULL(proc, proc_len) @@ -3048,7 +3048,7 @@ PHP_FUNCTION(odbc_procedures) RETCODE rc; ZEND_PARSE_PARAMETERS_START(1, 4) - Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) Z_PARAM_STRING_OR_NULL(cat, cat_len) Z_PARAM_STRING_OR_NULL(schema, schema_len) Z_PARAM_STRING_OR_NULL(proc, proc_len) @@ -3111,7 +3111,7 @@ PHP_FUNCTION(odbc_specialcolumns) RETCODE rc; ZEND_PARSE_PARAMETERS_START(7, 7) - Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) Z_PARAM_LONG(vtype) Z_PARAM_STRING_OR_NULL(cat, cat_len) Z_PARAM_STRING(schema, schema_len) @@ -3183,7 +3183,7 @@ PHP_FUNCTION(odbc_statistics) RETCODE rc; ZEND_PARSE_PARAMETERS_START(6, 6) - Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) Z_PARAM_STRING_OR_NULL(cat, cat_len) Z_PARAM_STRING(schema, schema_len) Z_PARAM_STRING(name, name_len) @@ -3251,7 +3251,7 @@ PHP_FUNCTION(odbc_tableprivileges) RETCODE rc; ZEND_PARSE_PARAMETERS_START(4, 4) - Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) + Z_PARAM_OBJECT_OF_CLASS(pv_conn, odbc_connection_ce) Z_PARAM_STRING_OR_NULL(cat, cat_len) Z_PARAM_STRING(schema, schema_len) Z_PARAM_STRING(table, table_len)