From: Frank M. Kromann Date: Thu, 28 Sep 2000 16:42:04 +0000 (+0000) Subject: Having odbc_tables() and odbc_columns() match the documentation with parameters optio... X-Git-Tag: php-4.0.3RC1~38 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e048e34e8001c90169799d0234fec0c87463c20f;p=php Having odbc_tables() and odbc_columns() match the documentation with parameters optionel from the right --- diff --git a/ext/odbc/php_odbc.c b/ext/odbc/php_odbc.c index d187614c38..bb0a0184bd 100644 --- a/ext/odbc/php_odbc.c +++ b/ext/odbc/php_odbc.c @@ -2438,25 +2438,23 @@ PHP_FUNCTION(odbc_tables) int argc; argc = ZEND_NUM_ARGS(); - if (argc == 1) { - if (zend_get_parameters_ex(1, &pv_conn) == FAILURE) { - WRONG_PARAM_COUNT; - } - } else if (argc == 5) { - if (zend_get_parameters_ex(5, &pv_conn, &pv_cat, &pv_schema, &pv_table, &pv_type) == FAILURE) { - WRONG_PARAM_COUNT; - } - convert_to_string_ex(pv_cat); - cat = (*pv_cat)->value.str.val; - convert_to_string_ex(pv_schema); - schema = (*pv_schema)->value.str.val; - convert_to_string_ex(pv_table); - table = (*pv_table)->value.str.val; - convert_to_string_ex(pv_type); - type = (*pv_type)->value.str.val; - } else { + if (argc < 1 || argc > 5 || zend_get_parameters_ex(argc, &pv_conn, &pv_cat, &pv_schema, &pv_table, &pv_type) == FAILURE) { WRONG_PARAM_COUNT; } + switch (argc) { + case 5: + convert_to_string_ex(pv_type); + type = (*pv_type)->value.str.val; + case 4: + convert_to_string_ex(pv_table); + table = (*pv_table)->value.str.val; + case 3: + convert_to_string_ex(pv_schema); + schema = (*pv_schema)->value.str.val; + case 2: + convert_to_string_ex(pv_cat); + cat = (*pv_cat)->value.str.val; + } ZEND_FETCH_RESOURCE2(conn, odbc_connection *, pv_conn, -1, "ODBC-Link", le_conn, le_pconn); @@ -2520,24 +2518,22 @@ PHP_FUNCTION(odbc_columns) int argc; argc = ZEND_NUM_ARGS(); - if (argc == 1) { - if (zend_get_parameters_ex(1, &pv_conn) == FAILURE) { - WRONG_PARAM_COUNT; - } - } else if (argc == 5) { - if (zend_get_parameters_ex(5, &pv_conn, &pv_cat, &pv_schema, &pv_table, &pv_column) == FAILURE) { + if (argc < 1 || argc > 5 || zend_get_parameters_ex(argc, &pv_conn, &pv_cat, &pv_schema, &pv_table, &pv_column) == FAILURE) { WRONG_PARAM_COUNT; - } - convert_to_string_ex(pv_cat); - cat = (*pv_cat)->value.str.val; - convert_to_string_ex(pv_schema); - schema = (*pv_schema)->value.str.val; - convert_to_string_ex(pv_table); - table = (*pv_table)->value.str.val; - convert_to_string_ex(pv_column); - column = (*pv_column)->value.str.val; - } else { - WRONG_PARAM_COUNT; + } + switch (argc) { + case 5: + convert_to_string_ex(pv_column); + column = (*pv_column)->value.str.val; + case 4: + convert_to_string_ex(pv_table); + table = (*pv_table)->value.str.val; + case 3: + convert_to_string_ex(pv_schema); + schema = (*pv_schema)->value.str.val; + case 2: + convert_to_string_ex(pv_cat); + cat = (*pv_cat)->value.str.val; } ZEND_FETCH_RESOURCE2(conn, odbc_connection *, pv_conn, -1, "ODBC-Link", le_conn, le_pconn);