diff options
Diffstat (limited to 'ext/standard/array.c')
-rw-r--r-- | ext/standard/array.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/ext/standard/array.c b/ext/standard/array.c index 4dba1a15f3..dd18f07ba6 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -2286,7 +2286,7 @@ long_str: Z_TYPE_INFO(tmp) = IS_LONG; if (low > high) { /* Negative steps */ - if (low - high < lstep) { + if ((zend_ulong)(low - high) < lstep) { err = 1; goto err; } @@ -2300,7 +2300,7 @@ long_str: } } ZEND_HASH_FILL_END(); } else if (high > low) { /* Positive steps */ - if (high - low < lstep) { + if ((zend_ulong)(high - low) < lstep) { err = 1; goto err; } @@ -2336,7 +2336,7 @@ static void php_array_data_shuffle(zval *array) /* {{{ */ Bucket *p, temp; HashTable *hash; zend_long rnd_idx; - uint32_t n_left; + zend_long n_left; n_elems = zend_hash_num_elements(Z_ARRVAL_P(array)); @@ -2429,12 +2429,12 @@ PHP_FUNCTION(shuffle) } /* }}} */ -static void php_splice(HashTable *in_hash, int offset, int length, HashTable *replace, HashTable *removed) /* {{{ */ +static void php_splice(HashTable *in_hash, zend_long offset, zend_long length, HashTable *replace, HashTable *removed) /* {{{ */ { HashTable out_hash; /* Output hashtable */ - int num_in, /* Number of entries in the input hashtable */ - pos; /* Current position in the hashtable */ - uint idx; + zend_long num_in; /* Number of entries in the input hashtable */ + zend_long pos; /* Current position in the hashtable */ + uint32_t idx; Bucket *p; /* Pointer to hash bucket */ zval *entry; /* Hash entry */ uint32_t iter_pos = zend_hash_iterators_lower_pos(in_hash, 0); @@ -2473,7 +2473,7 @@ static void php_splice(HashTable *in_hash, int offset, int length, HashTable *re zend_hash_add_new(&out_hash, p->key, entry); } if (idx == iter_pos) { - if (idx != pos) { + if ((zend_long)idx != pos) { zend_hash_iterators_update(in_hash, idx, pos); } iter_pos = zend_hash_iterators_lower_pos(in_hash, iter_pos + 1); @@ -2543,7 +2543,7 @@ static void php_splice(HashTable *in_hash, int offset, int length, HashTable *re zend_hash_add_new(&out_hash, p->key, entry); } if (idx == iter_pos) { - if (idx != pos) { + if ((zend_long)idx != pos) { zend_hash_iterators_update(in_hash, idx, pos); } iter_pos = zend_hash_iterators_lower_pos(in_hash, iter_pos + 1); @@ -2902,7 +2902,7 @@ PHP_FUNCTION(array_splice) } /* Perform splice */ - php_splice(Z_ARRVAL_P(array), (int)offset, (int)length, repl_array ? Z_ARRVAL_P(repl_array) : NULL, rem_hash); + php_splice(Z_ARRVAL_P(array), offset, length, repl_array ? Z_ARRVAL_P(repl_array) : NULL, rem_hash); } /* }}} */ @@ -3047,7 +3047,7 @@ PHPAPI int php_array_merge_recursive(HashTable *dest, HashTable *src) /* {{{ */ convert_to_array_ex(dest_zval); add_next_index_null(dest_zval); } else if (Z_TYPE_P(dest_zval) == IS_ARRAY) { - if (UNEXPECTED(Z_ARRVAL_P(dest_zval)->nNextFreeElement > Z_ARRVAL_P(dest_zval)->nNumUsed)) { + if (UNEXPECTED(Z_ARRVAL_P(dest_zval)->nNextFreeElement > (zend_long)Z_ARRVAL_P(dest_zval)->nNumUsed)) { Z_ARRVAL_P(dest_zval)->nNextFreeElement = Z_ARRVAL_P(dest_zval)->nNumUsed; } } else { @@ -4954,7 +4954,7 @@ PHP_FUNCTION(array_multisort) /* Make sure the arrays are of the same size. */ array_size = zend_hash_num_elements(Z_ARRVAL_P(arrays[0])); for (i = 0; i < num_arrays; i++) { - if (zend_hash_num_elements(Z_ARRVAL_P(arrays[i])) != array_size) { + if (zend_hash_num_elements(Z_ARRVAL_P(arrays[i])) != (uint32_t)array_size) { php_error_docref(NULL, E_WARNING, "Array sizes are inconsistent"); MULTISORT_ABORT; } |