summaryrefslogtreecommitdiff
path: root/ext/fbsql
diff options
context:
space:
mode:
authorFrank M. Kromann <fmk@php.net>2003-07-03 16:53:04 +0000
committerFrank M. Kromann <fmk@php.net>2003-07-03 16:53:04 +0000
commitd77e8393cdd817f0ca8d0c07c0beed95d7ba75b0 (patch)
treef30cd16c6bca2287202b13ce697d1ece9a06c3ef /ext/fbsql
parentd7e14ad8a3f0c2f4b5f4820ec3caca7be59a9b71 (diff)
downloadphp-git-d77e8393cdd817f0ca8d0c07c0beed95d7ba75b0.tar.gz
Change fetch functions and protos so they make more sense.
fetch_row or fetch_assoc should not take the optional parameter
Diffstat (limited to 'ext/fbsql')
-rw-r--r--ext/fbsql/php_fbsql.c30
-rw-r--r--ext/fbsql/php_fbsql.h2
2 files changed, 18 insertions, 14 deletions
diff --git a/ext/fbsql/php_fbsql.c b/ext/fbsql/php_fbsql.c
index 881eec7322..e751e85f21 100644
--- a/ext/fbsql/php_fbsql.c
+++ b/ext/fbsql/php_fbsql.c
@@ -358,14 +358,14 @@ static void phpfbQuery(INTERNAL_FUNCTION_PARAMETERS, char* sql, PHPFBLink* link)
/* {{{ PHP_INI
*/
PHP_INI_BEGIN()
- STD_PHP_INI_BOOLEAN ("fbsql.allow_persistent", "1", PHP_INI_SYSTEM, OnUpdateLong, allowPersistent, zend_fbsql_globals, fbsql_globals)
- STD_PHP_INI_BOOLEAN ("fbsql.generate_warnings", "0", PHP_INI_SYSTEM, OnUpdateLong, generateWarnings, zend_fbsql_globals, fbsql_globals)
- STD_PHP_INI_BOOLEAN ("fbsql.autocommit", "1", PHP_INI_SYSTEM, OnUpdateLong, autoCommit, zend_fbsql_globals, fbsql_globals)
- STD_PHP_INI_ENTRY_EX ("fbsql.max_persistent", "-1", PHP_INI_SYSTEM, OnUpdateLong, maxPersistent, zend_fbsql_globals, fbsql_globals, display_link_numbers)
- STD_PHP_INI_ENTRY_EX ("fbsql.max_links", "128", PHP_INI_SYSTEM, OnUpdateLong, maxLinks, zend_fbsql_globals, fbsql_globals, display_link_numbers)
- STD_PHP_INI_ENTRY_EX ("fbsql.max_connections", "128", PHP_INI_SYSTEM, OnUpdateLong, maxConnections, zend_fbsql_globals, fbsql_globals, display_link_numbers)
- STD_PHP_INI_ENTRY_EX ("fbsql.max_results", "128", PHP_INI_SYSTEM, OnUpdateLong, maxResults, zend_fbsql_globals, fbsql_globals, display_link_numbers)
- STD_PHP_INI_ENTRY_EX ("fbsql.batchSize", "1000", PHP_INI_SYSTEM, OnUpdateLong, batchSize, zend_fbsql_globals, fbsql_globals, display_link_numbers)
+ STD_PHP_INI_BOOLEAN ("fbsql.allow_persistent", "1", PHP_INI_SYSTEM, OnUpdateBool, allowPersistent, zend_fbsql_globals, fbsql_globals)
+ STD_PHP_INI_BOOLEAN ("fbsql.generate_warnings", "0", PHP_INI_SYSTEM, OnUpdateBool, generateWarnings, zend_fbsql_globals, fbsql_globals)
+ STD_PHP_INI_BOOLEAN ("fbsql.autocommit", "1", PHP_INI_SYSTEM, OnUpdateBool, autoCommit, zend_fbsql_globals, fbsql_globals)
+ STD_PHP_INI_ENTRY_EX ("fbsql.max_persistent", "-1", PHP_INI_SYSTEM, OnUpdateLong, maxPersistent, zend_fbsql_globals, fbsql_globals, display_link_numbers)
+ STD_PHP_INI_ENTRY_EX ("fbsql.max_links", "128", PHP_INI_SYSTEM, OnUpdateLong, maxLinks, zend_fbsql_globals, fbsql_globals, display_link_numbers)
+ STD_PHP_INI_ENTRY_EX ("fbsql.max_connections", "128", PHP_INI_SYSTEM, OnUpdateLong, maxConnections, zend_fbsql_globals, fbsql_globals, display_link_numbers)
+ STD_PHP_INI_ENTRY_EX ("fbsql.max_results", "128", PHP_INI_SYSTEM, OnUpdateLong, maxResults, zend_fbsql_globals, fbsql_globals, display_link_numbers)
+ STD_PHP_INI_ENTRY_EX ("fbsql.batchSize", "1000", PHP_INI_SYSTEM, OnUpdateLong, batchSize, zend_fbsql_globals, fbsql_globals, display_link_numbers)
STD_PHP_INI_ENTRY ("fbsql.default_host", NULL, PHP_INI_SYSTEM, OnUpdateString, hostName, zend_fbsql_globals, fbsql_globals)
STD_PHP_INI_ENTRY ("fbsql.default_user", "_SYSTEM", PHP_INI_SYSTEM, OnUpdateString, userName, zend_fbsql_globals, fbsql_globals)
STD_PHP_INI_ENTRY ("fbsql.default_password", "", PHP_INI_SYSTEM, OnUpdateString, userPassword, zend_fbsql_globals, fbsql_globals)
@@ -2706,7 +2706,7 @@ PHP_FUNCTION(fbsql_num_fields)
Fetch a row of data. Returns an indexed array */
PHP_FUNCTION(fbsql_fetch_row)
{
- php_fbsql_fetch_hash(INTERNAL_FUNCTION_PARAM_PASSTHRU, FBSQL_NUM);
+ php_fbsql_fetch_hash(INTERNAL_FUNCTION_PARAM_PASSTHRU, FBSQL_NUM, 1);
}
/* }}} */
@@ -2714,7 +2714,7 @@ PHP_FUNCTION(fbsql_fetch_row)
Detch a row of data. Returns an assoc array */
PHP_FUNCTION(fbsql_fetch_assoc)
{
- php_fbsql_fetch_hash(INTERNAL_FUNCTION_PARAM_PASSTHRU, FBSQL_ASSOC);
+ php_fbsql_fetch_hash(INTERNAL_FUNCTION_PARAM_PASSTHRU, FBSQL_ASSOC, 1);
}
/* }}} */
@@ -2722,7 +2722,7 @@ PHP_FUNCTION(fbsql_fetch_assoc)
Fetch a row of data. Returns an object */
PHP_FUNCTION(fbsql_fetch_object)
{
- php_fbsql_fetch_hash(INTERNAL_FUNCTION_PARAM_PASSTHRU, FBSQL_ASSOC);
+ php_fbsql_fetch_hash(INTERNAL_FUNCTION_PARAM_PASSTHRU, FBSQL_ASSOC, 2);
if (Z_TYPE_P(return_value)==IS_ARRAY) {
object_and_properties_init(return_value, ZEND_STANDARD_CLASS_DEF_PTR, Z_ARRVAL_P(return_value));
}
@@ -2733,7 +2733,7 @@ PHP_FUNCTION(fbsql_fetch_object)
Fetches a result row as an array (associative, numeric or both)*/
PHP_FUNCTION(fbsql_fetch_array)
{
- php_fbsql_fetch_hash(INTERNAL_FUNCTION_PARAM_PASSTHRU, FBSQL_BOTH);
+ php_fbsql_fetch_hash(INTERNAL_FUNCTION_PARAM_PASSTHRU, FBSQL_BOTH, 2);
}
/* }}} */
@@ -2781,7 +2781,7 @@ static void _parse_list(zval** return_value, FBCPList* list)
}
}
-static void php_fbsql_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int result_type)
+static void php_fbsql_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int result_type, int expected_args)
{
PHPFBResult* result = NULL;
@@ -2790,6 +2790,10 @@ static void php_fbsql_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int result_type)
int i;
void **row;
+ if (ZEND_NUM_ARGS() > expected_args) {
+ WRONG_PARAM_COUNT;
+ }
+
switch (ZEND_NUM_ARGS()) {
case 1:
if (zend_get_parameters_ex(1, &fbsql_result_index)==FAILURE) {
diff --git a/ext/fbsql/php_fbsql.h b/ext/fbsql/php_fbsql.h
index 38a8a04fb1..eea283df4c 100644
--- a/ext/fbsql/php_fbsql.h
+++ b/ext/fbsql/php_fbsql.h
@@ -101,7 +101,7 @@ PHP_FUNCTION(fbsql_warnings);
PHP_FUNCTION(fbsql_get_autostart_info);
/* PHP_FUNCTION(fbsql_set_autostart_info); */
-static void php_fbsql_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int result_type);
+static void php_fbsql_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int result_type, int expected_args);
static void php_fbsql_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent);
ZEND_BEGIN_MODULE_GLOBALS(fbsql)