summaryrefslogtreecommitdiff
path: root/ext/standard/array.c
diff options
context:
space:
mode:
authorAndrei Zmievski <andrei@php.net>2001-01-08 20:57:59 +0000
committerAndrei Zmievski <andrei@php.net>2001-01-08 20:57:59 +0000
commit74175e429d160bef4a020fea76781fc6b6ad9c38 (patch)
tree963b908a1d07fe8f22b714d54a7409f9b05ae90b /ext/standard/array.c
parentb06323cd6e452d15b78ab4e851acfabff607ce94 (diff)
downloadphp-git-74175e429d160bef4a020fea76781fc6b6ad9c38.tar.gz
@- Changed extract() to return the number of variables extracted. (Andrei)
Diffstat (limited to 'ext/standard/array.c')
-rw-r--r--ext/standard/array.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/ext/standard/array.c b/ext/standard/array.c
index dad26ba590..c4c115eb32 100644
--- a/ext/standard/array.c
+++ b/ext/standard/array.c
@@ -1109,7 +1109,7 @@ static int _valid_var_name(char *varname)
/* }}} */
-/* {{{ proto void extract(array var_array, int extract_type [, string prefix])
+/* {{{ proto int extract(array var_array, int extract_type [, string prefix])
Imports variables into symbol table from an array */
PHP_FUNCTION(extract)
{
@@ -1117,7 +1117,7 @@ PHP_FUNCTION(extract)
zval **entry, *data;
char *varname, *finalname;
ulong lkey;
- int res, extype;
+ int res, extype, count = 0;
switch(ZEND_NUM_ARGS()) {
case 1:
@@ -1203,12 +1203,16 @@ PHP_FUNCTION(extract)
ZEND_SET_SYMBOL(EG(active_symbol_table), finalname, data);
efree(finalname);
+
+ count++;
}
}
}
zend_hash_move_forward(Z_ARRVAL_PP(var_array));
}
+
+ RETURN_LONG(count);
}
/* }}} */