summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThies C. Arntzen <thies@php.net>1999-11-21 12:13:44 +0000
committerThies C. Arntzen <thies@php.net>1999-11-21 12:13:44 +0000
commitee1380e6b02693cb09a4da6c1982290038d5bc1e (patch)
tree7f108b9d625c1429dbb21df35a712d826fdd98a8
parent9788129e0e2ece353d57d5d99548be7912e3a61c (diff)
downloadphp-git-ee1380e6b02693cb09a4da6c1982290038d5bc1e.tar.gz
-renamed some macros
-return_value_used now used in a few more functions
-rw-r--r--ext/standard/array.c62
1 files changed, 36 insertions, 26 deletions
diff --git a/ext/standard/array.c b/ext/standard/array.c
index a802aeb0e3..d452607a9b 100644
--- a/ext/standard/array.c
+++ b/ext/standard/array.c
@@ -455,8 +455,8 @@ static int array_user_key_compare(const void *a, const void *b)
status = call_user_function(CG(function_table), NULL, *user_compare_func_name, &retval, 2, args);
- pval_destructor(&key1);
- pval_destructor(&key2);
+ zval_dtor(&key1);
+ zval_dtor(&key2);
if (status==SUCCESS) {
convert_to_long(&retval);
@@ -507,11 +507,15 @@ PHP_FUNCTION(end)
return;
}
zend_hash_internal_pointer_end(target_hash);
- if (zend_hash_get_current_data(target_hash, (void **) &entry) == FAILURE) {
- RETURN_FALSE;
+
+ if (return_value_used) {
+ if (zend_hash_get_current_data(target_hash, (void **) &entry) == FAILURE) {
+ RETURN_FALSE;
+ }
+
+ *return_value = **entry;
+ zval_copy_ctor(return_value);
}
- *return_value = **entry;
- pval_copy_constructor(return_value);
}
@@ -529,12 +533,15 @@ PHP_FUNCTION(prev)
RETURN_FALSE;
}
zend_hash_move_backwards(target_hash);
- if (zend_hash_get_current_data(target_hash, (void **) &entry) == FAILURE) {
- RETURN_FALSE;
- }
+
+ if (return_value_used) {
+ if (zend_hash_get_current_data(target_hash, (void **) &entry) == FAILURE) {
+ RETURN_FALSE;
+ }
- *return_value = **entry;
- pval_copy_constructor(return_value);
+ *return_value = **entry;
+ zval_copy_ctor(return_value);
+ }
}
@@ -552,12 +559,15 @@ PHP_FUNCTION(next)
RETURN_FALSE;
}
zend_hash_move_forward(target_hash);
- if (zend_hash_get_current_data(target_hash, (void **) &entry) == FAILURE) {
- RETURN_FALSE;
+
+ if (return_value_used) {
+ if (zend_hash_get_current_data(target_hash, (void **) &entry) == FAILURE) {
+ RETURN_FALSE;
+ }
+
+ *return_value = **entry;
+ zval_copy_ctor(return_value);
}
-
- *return_value = **entry;
- pval_copy_constructor(return_value);
}
@@ -575,14 +585,14 @@ PHP_FUNCTION(reset)
return;
}
zend_hash_internal_pointer_reset(target_hash);
- if (zend_hash_get_current_data(target_hash, (void **) &entry) == FAILURE) {
- return;
- }
if (return_value_used) {
+ if (zend_hash_get_current_data(target_hash, (void **) &entry) == FAILURE) {
+ RETURN_FALSE;
+ }
+
*return_value = **entry;
- pval_copy_constructor(return_value);
- /* INIT_PZVAL(return_value); XXX is this needed? - No! :) */
+ zval_copy_ctor(return_value);
}
}
@@ -603,7 +613,7 @@ PHP_FUNCTION(current)
return;
}
*return_value = **entry;
- pval_copy_constructor(return_value);
+ zval_copy_ctor(return_value);
}
@@ -656,7 +666,7 @@ PHP_FUNCTION(min)
}
if (zend_hash_minmax((*arr)->value.ht, array_data_compare, 0, (void **) &result)==SUCCESS) {
*return_value = **result;
- pval_copy_constructor(return_value);
+ zval_copy_ctor(return_value);
} else {
php_error(E_WARNING, "min: array must contain at least 1 element");
RETURN_FALSE;
@@ -681,7 +691,7 @@ PHP_FUNCTION(min)
}
*return_value = **min;
- pval_copy_constructor(return_value);
+ zval_copy_ctor(return_value);
efree(args);
}
@@ -706,7 +716,7 @@ PHP_FUNCTION(max)
}
if (zend_hash_minmax((*arr)->value.ht, array_data_compare, 1, (void **) &result)==SUCCESS) {
*return_value = **result;
- pval_copy_constructor(return_value);
+ zval_copy_ctor(return_value);
} else {
php_error(E_WARNING, "max: array must contain at least 1 element");
RETURN_FALSE;
@@ -731,7 +741,7 @@ PHP_FUNCTION(max)
}
*return_value = **max;
- pval_copy_constructor(return_value);
+ zval_copy_ctor(return_value);
efree(args);
}