diff options
author | Andrey Hristov <andrey@php.net> | 1999-06-09 21:13:05 +0000 |
---|---|---|
committer | Andrey Hristov <andrey@php.net> | 1999-06-09 21:13:05 +0000 |
commit | 3d45dd58b87b847271bdf483f7ead1db5465f86d (patch) | |
tree | c0ccb94cfaa59c5257b08b9e91b9c4f3846d3a7a | |
parent | b484f40c31612212d20cea69e0c0d8fa204f4e8a (diff) | |
download | php-git-3d45dd58b87b847271bdf483f7ead1db5465f86d.tar.gz |
Fixed a bug in preg_split.
Fixed a bug in array_shift/array_pop.
-rw-r--r-- | ext/pcre/pcre.c | 6 | ||||
-rw-r--r-- | ext/standard/basic_functions.c | 6 |
2 files changed, 8 insertions, 4 deletions
diff --git a/ext/pcre/pcre.c b/ext/pcre/pcre.c index eb91b954a1..39662be2ec 100644 --- a/ext/pcre/pcre.c +++ b/ext/pcre/pcre.c @@ -829,9 +829,9 @@ PHP_FUNCTION(preg_split) limit_val--; } else { /* if no match */ - /* Add the last piece to the return value, if there - were matches before */ - if (piece > subject->value.str.val) + /* Add the last piece to the return value, if there is + something left */ + if (limit != 0) add_next_index_stringl(return_value, piece, subject_end-piece, 1); diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c index e37fcbc741..43bc22b0c3 100644 --- a/ext/standard/basic_functions.c +++ b/ext/standard/basic_functions.c @@ -2583,7 +2583,11 @@ static void _phpi_pop(INTERNAL_FUNCTION_PARAMETERS, int off_the_end) zend_error(E_WARNING, "The argument needs to be an array"); return; } - + + if (zend_hash_num_elements(stack->value.ht) == 0) { + return; + } + /* Get the first or last value and copy it into the return value */ if (off_the_end) zend_hash_internal_pointer_end(stack->value.ht); |