summaryrefslogtreecommitdiff
path: root/ext/standard/array.c
diff options
context:
space:
mode:
authorNikita Popov <nikic@php.net>2015-04-25 20:43:11 +0200
committerNikita Popov <nikic@php.net>2015-04-27 18:50:08 +0200
commit40e465e3575443757693146bb141a4de02cc697c (patch)
tree6eb7c1fc0ffeb24d3bcf3cc34ecd294c39a2e4e4 /ext/standard/array.c
parent1800bed1045a43d2478c0265a26fe0675fb5a6c1 (diff)
downloadphp-git-40e465e3575443757693146bb141a4de02cc697c.tar.gz
Clean up some type conversions
While at it also fix some type checks in iconv and drop dead and unported code in standard/filters.
Diffstat (limited to 'ext/standard/array.c')
-rw-r--r--ext/standard/array.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/ext/standard/array.c b/ext/standard/array.c
index 1e354266a1..a20a588b1e 100644
--- a/ext/standard/array.c
+++ b/ext/standard/array.c
@@ -1470,12 +1470,9 @@ PHP_FUNCTION(extract)
if (var_name) {
var_exists = zend_hash_exists_ind(symbol_table, var_name);
} else if (extract_type == EXTR_PREFIX_ALL || extract_type == EXTR_PREFIX_INVALID) {
- zval num;
-
- ZVAL_LONG(&num, num_key);
- convert_to_string(&num);
- php_prefix_varname(&final_name, prefix, Z_STRVAL(num), Z_STRLEN(num), 1);
- zval_dtor(&num);
+ zend_string *str = zend_long_to_str(num_key);
+ php_prefix_varname(&final_name, prefix, str->val, str->len, 1);
+ zend_string_release(str);
} else {
continue;
}
@@ -3364,14 +3361,9 @@ PHP_FUNCTION(array_unique)
}
/* }}} */
-static int zval_compare(zval *a, zval *b) /* {{{ */
+static int zval_compare(zval *first, zval *second) /* {{{ */
{
zval result;
- zval *first;
- zval *second;
-
- first = a;
- second = b;
if (Z_TYPE_P(first) == IS_INDIRECT) {
first = Z_INDIRECT_P(first);