diff --git a/ext/spl/spl_observer.c b/ext/spl/spl_observer.c index 6d74329f450..339bd0b6e5d 100644 --- a/ext/spl/spl_observer.c +++ b/ext/spl/spl_observer.c @@ -645,13 +645,13 @@ PHP_METHOD(SplObjectStorage, contains) PHP_METHOD(SplObjectStorage, count) { spl_SplObjectStorage *intern = Z_SPLOBJSTORAGE_P(ZEND_THIS); - zend_long mode = COUNT_NORMAL; + zend_long mode = PHP_COUNT_NORMAL; if (zend_parse_parameters(ZEND_NUM_ARGS(), "|l", &mode) == FAILURE) { RETURN_THROWS(); } - if (mode == COUNT_RECURSIVE) { + if (mode == PHP_COUNT_RECURSIVE) { RETURN_LONG(php_count_recursive(&intern->storage)); } diff --git a/ext/standard/array.c b/ext/standard/array.c index 58e9004cf49..b03bea691ed 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -44,18 +44,6 @@ #include "ext/random/php_random.h" /* {{{ defines */ -#define EXTR_OVERWRITE 0 -#define EXTR_SKIP 1 -#define EXTR_PREFIX_SAME 2 -#define EXTR_PREFIX_ALL 3 -#define EXTR_PREFIX_INVALID 4 -#define EXTR_PREFIX_IF_EXISTS 5 -#define EXTR_IF_EXISTS 6 - -#define EXTR_REFS 0x100 - -#define CASE_LOWER 0 -#define CASE_UPPER 1 #define DIFF_NORMAL 1 #define DIFF_KEY 2 @@ -89,34 +77,6 @@ PHP_MINIT_FUNCTION(array) /* {{{ */ { ZEND_INIT_MODULE_GLOBALS(array, php_array_init_globals, NULL); - REGISTER_LONG_CONSTANT("EXTR_OVERWRITE", EXTR_OVERWRITE, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("EXTR_SKIP", EXTR_SKIP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("EXTR_PREFIX_SAME", EXTR_PREFIX_SAME, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("EXTR_PREFIX_ALL", EXTR_PREFIX_ALL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("EXTR_PREFIX_INVALID", EXTR_PREFIX_INVALID, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("EXTR_PREFIX_IF_EXISTS", EXTR_PREFIX_IF_EXISTS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("EXTR_IF_EXISTS", EXTR_IF_EXISTS, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("EXTR_REFS", EXTR_REFS, CONST_CS | CONST_PERSISTENT); - - REGISTER_LONG_CONSTANT("SORT_ASC", PHP_SORT_ASC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SORT_DESC", PHP_SORT_DESC, CONST_CS | CONST_PERSISTENT); - - REGISTER_LONG_CONSTANT("SORT_REGULAR", PHP_SORT_REGULAR, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SORT_NUMERIC", PHP_SORT_NUMERIC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SORT_STRING", PHP_SORT_STRING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SORT_LOCALE_STRING", PHP_SORT_LOCALE_STRING, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SORT_NATURAL", PHP_SORT_NATURAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SORT_FLAG_CASE", PHP_SORT_FLAG_CASE, CONST_CS | CONST_PERSISTENT); - - REGISTER_LONG_CONSTANT("CASE_LOWER", CASE_LOWER, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("CASE_UPPER", CASE_UPPER, CONST_CS | CONST_PERSISTENT); - - REGISTER_LONG_CONSTANT("COUNT_NORMAL", COUNT_NORMAL, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("COUNT_RECURSIVE", COUNT_RECURSIVE, CONST_CS | CONST_PERSISTENT); - - REGISTER_LONG_CONSTANT("ARRAY_FILTER_USE_BOTH", ARRAY_FILTER_USE_BOTH, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("ARRAY_FILTER_USE_KEY", ARRAY_FILTER_USE_KEY, CONST_CS | CONST_PERSISTENT); - return SUCCESS; } /* }}} */ @@ -661,7 +621,7 @@ PHPAPI zend_long php_count_recursive(HashTable *ht) /* {{{ */ PHP_FUNCTION(count) { zval *array; - zend_long mode = COUNT_NORMAL; + zend_long mode = PHP_COUNT_NORMAL; zend_long cnt; ZEND_PARSE_PARAMETERS_START(1, 2) @@ -670,14 +630,14 @@ PHP_FUNCTION(count) Z_PARAM_LONG(mode) ZEND_PARSE_PARAMETERS_END(); - if (mode != COUNT_NORMAL && mode != COUNT_RECURSIVE) { + if (mode != PHP_COUNT_NORMAL && mode != PHP_COUNT_RECURSIVE) { zend_argument_value_error(2, "must be either COUNT_NORMAL or COUNT_RECURSIVE"); RETURN_THROWS(); } switch (Z_TYPE_P(array)) { case IS_ARRAY: - if (mode != COUNT_RECURSIVE) { + if (mode != PHP_COUNT_RECURSIVE) { cnt = zend_hash_num_elements(Z_ARRVAL_P(array)); } else { cnt = php_count_recursive(Z_ARRVAL_P(array)); @@ -2397,7 +2357,7 @@ PHP_FUNCTION(extract) { zval *var_array_param; zend_long extract_refs; - zend_long extract_type = EXTR_OVERWRITE; + zend_long extract_type = PHP_EXTR_OVERWRITE; zend_string *prefix = NULL; zend_long count; zend_array *symbol_table; @@ -2409,18 +2369,18 @@ PHP_FUNCTION(extract) Z_PARAM_STR(prefix) ZEND_PARSE_PARAMETERS_END(); - extract_refs = (extract_type & EXTR_REFS); + extract_refs = (extract_type & PHP_EXTR_REFS); if (extract_refs) { SEPARATE_ARRAY(var_array_param); } extract_type &= 0xff; - if (extract_type < EXTR_OVERWRITE || extract_type > EXTR_IF_EXISTS) { + if (extract_type < PHP_EXTR_OVERWRITE || extract_type > PHP_EXTR_IF_EXISTS) { zend_argument_value_error(2, "must be a valid extract type"); RETURN_THROWS(); } - if (extract_type > EXTR_SKIP && extract_type <= EXTR_PREFIX_IF_EXISTS && ZEND_NUM_ARGS() < 3) { + if (extract_type > PHP_EXTR_SKIP && extract_type <= PHP_EXTR_PREFIX_IF_EXISTS && ZEND_NUM_ARGS() < 3) { zend_argument_value_error(3, "is required when using this extract type"); RETURN_THROWS(); } @@ -2441,22 +2401,22 @@ PHP_FUNCTION(extract) if (extract_refs) { switch (extract_type) { - case EXTR_IF_EXISTS: + case PHP_EXTR_IF_EXISTS: count = php_extract_ref_if_exists(Z_ARRVAL_P(var_array_param), symbol_table); break; - case EXTR_OVERWRITE: + case PHP_EXTR_OVERWRITE: count = php_extract_ref_overwrite(Z_ARRVAL_P(var_array_param), symbol_table); break; - case EXTR_PREFIX_IF_EXISTS: + case PHP_EXTR_PREFIX_IF_EXISTS: count = php_extract_ref_prefix_if_exists(Z_ARRVAL_P(var_array_param), symbol_table, prefix); break; - case EXTR_PREFIX_SAME: + case PHP_EXTR_PREFIX_SAME: count = php_extract_ref_prefix_same(Z_ARRVAL_P(var_array_param), symbol_table, prefix); break; - case EXTR_PREFIX_ALL: + case PHP_EXTR_PREFIX_ALL: count = php_extract_ref_prefix_all(Z_ARRVAL_P(var_array_param), symbol_table, prefix); break; - case EXTR_PREFIX_INVALID: + case PHP_EXTR_PREFIX_INVALID: count = php_extract_ref_prefix_invalid(Z_ARRVAL_P(var_array_param), symbol_table, prefix); break; default: @@ -2468,22 +2428,22 @@ PHP_FUNCTION(extract) zval array_copy; ZVAL_COPY(&array_copy, var_array_param); switch (extract_type) { - case EXTR_IF_EXISTS: + case PHP_EXTR_IF_EXISTS: count = php_extract_if_exists(Z_ARRVAL(array_copy), symbol_table); break; - case EXTR_OVERWRITE: + case PHP_EXTR_OVERWRITE: count = php_extract_overwrite(Z_ARRVAL(array_copy), symbol_table); break; - case EXTR_PREFIX_IF_EXISTS: + case PHP_EXTR_PREFIX_IF_EXISTS: count = php_extract_prefix_if_exists(Z_ARRVAL(array_copy), symbol_table, prefix); break; - case EXTR_PREFIX_SAME: + case PHP_EXTR_PREFIX_SAME: count = php_extract_prefix_same(Z_ARRVAL(array_copy), symbol_table, prefix); break; - case EXTR_PREFIX_ALL: + case PHP_EXTR_PREFIX_ALL: count = php_extract_prefix_all(Z_ARRVAL(array_copy), symbol_table, prefix); break; - case EXTR_PREFIX_INVALID: + case PHP_EXTR_PREFIX_INVALID: count = php_extract_prefix_invalid(Z_ARRVAL(array_copy), symbol_table, prefix); break; default: diff --git a/ext/standard/basic_functions.stub.php b/ext/standard/basic_functions.stub.php index 541dfc46455..09a3c902dcd 100755 --- a/ext/standard/basic_functions.stub.php +++ b/ext/standard/basic_functions.stub.php @@ -2,6 +2,126 @@ /** @generate-class-entries */ +/* array.c */ + +/** + * @var int + * @cvalue PHP_EXTR_OVERWRITE + */ +const EXTR_OVERWRITE = UNKNOWN; +/** + * @var int + * @cvalue PHP_EXTR_SKIP + */ +const EXTR_SKIP = UNKNOWN; +/** + * @var int + * @cvalue PHP_EXTR_PREFIX_SAME + */ +const EXTR_PREFIX_SAME = UNKNOWN; +/** + * @var int + * @cvalue PHP_EXTR_PREFIX_ALL + */ +const EXTR_PREFIX_ALL = UNKNOWN; +/** + * @var int + * @cvalue PHP_EXTR_PREFIX_INVALID + */ +const EXTR_PREFIX_INVALID = UNKNOWN; +/** + * @var int + * @cvalue PHP_EXTR_PREFIX_IF_EXISTS + */ +const EXTR_PREFIX_IF_EXISTS = UNKNOWN; +/** + * @var int + * @cvalue PHP_EXTR_IF_EXISTS + */ +const EXTR_IF_EXISTS = UNKNOWN; +/** + * @var int + * @cvalue PHP_EXTR_REFS + */ +const EXTR_REFS = UNKNOWN; + +/** + * @var int + * @cvalue PHP_SORT_ASC + */ +const SORT_ASC = UNKNOWN; +/** + * @var int + * @cvalue PHP_SORT_DESC + */ +const SORT_DESC = UNKNOWN; + +/** + * @var int + * @cvalue PHP_SORT_REGULAR + */ +const SORT_REGULAR = UNKNOWN; +/** + * @var int + * @cvalue PHP_SORT_NUMERIC + */ +const SORT_NUMERIC = UNKNOWN; +/** + * @var int + * @cvalue PHP_SORT_STRING + */ +const SORT_STRING = UNKNOWN; +/** + * @var int + * @cvalue PHP_SORT_LOCALE_STRING + */ +const SORT_LOCALE_STRING = UNKNOWN; +/** + * @var int + * @cvalue PHP_SORT_NATURAL + */ +const SORT_NATURAL = UNKNOWN; +/** + * @var int + * @cvalue PHP_SORT_FLAG_CASE + */ +const SORT_FLAG_CASE = UNKNOWN; + +/** + * @var int + * @cvalue PHP_CASE_LOWER + */ +const CASE_LOWER = UNKNOWN; +/** + * @var int + * @cvalue PHP_CASE_UPPER + */ +const CASE_UPPER = UNKNOWN; + +/** + * @var int + * @cvalue PHP_COUNT_NORMAL + */ +const COUNT_NORMAL = UNKNOWN; +/** + * @var int + * @cvalue PHP_COUNT_RECURSIVE + */ +const COUNT_RECURSIVE = UNKNOWN; + +/** + * @var int + * @cvalue ARRAY_FILTER_USE_BOTH + */ +const ARRAY_FILTER_USE_BOTH = UNKNOWN; +/** + * @var int + * @cvalue ARRAY_FILTER_USE_KEY + */ +const ARRAY_FILTER_USE_KEY = UNKNOWN; + +/* basic_functions.h */ + /** * @var float * @cvalue M_E diff --git a/ext/standard/basic_functions_arginfo.h b/ext/standard/basic_functions_arginfo.h index c01805f3a3e..ef8ae6cac66 100644 --- a/ext/standard/basic_functions_arginfo.h +++ b/ext/standard/basic_functions_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: a4c98e83e51a9546a89797b80bdd8771ef0075f9 */ + * Stub hash: 51ffd17ba03a2a419b94ef633a621dbf90eb16ee */ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_set_time_limit, 0, 1, _IS_BOOL, 0) ZEND_ARG_TYPE_INFO(0, seconds, IS_LONG, 0) @@ -3483,6 +3483,28 @@ static const zend_function_entry class_AssertionError_methods[] = { static void register_basic_functions_symbols(int module_number) { + REGISTER_LONG_CONSTANT("EXTR_OVERWRITE", PHP_EXTR_OVERWRITE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("EXTR_SKIP", PHP_EXTR_SKIP, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("EXTR_PREFIX_SAME", PHP_EXTR_PREFIX_SAME, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("EXTR_PREFIX_ALL", PHP_EXTR_PREFIX_ALL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("EXTR_PREFIX_INVALID", PHP_EXTR_PREFIX_INVALID, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("EXTR_PREFIX_IF_EXISTS", PHP_EXTR_PREFIX_IF_EXISTS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("EXTR_IF_EXISTS", PHP_EXTR_IF_EXISTS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("EXTR_REFS", PHP_EXTR_REFS, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SORT_ASC", PHP_SORT_ASC, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SORT_DESC", PHP_SORT_DESC, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SORT_REGULAR", PHP_SORT_REGULAR, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SORT_NUMERIC", PHP_SORT_NUMERIC, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SORT_STRING", PHP_SORT_STRING, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SORT_LOCALE_STRING", PHP_SORT_LOCALE_STRING, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SORT_NATURAL", PHP_SORT_NATURAL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SORT_FLAG_CASE", PHP_SORT_FLAG_CASE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CASE_LOWER", PHP_CASE_LOWER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("CASE_UPPER", PHP_CASE_UPPER, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("COUNT_NORMAL", PHP_COUNT_NORMAL, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("COUNT_RECURSIVE", PHP_COUNT_RECURSIVE, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ARRAY_FILTER_USE_BOTH", ARRAY_FILTER_USE_BOTH, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("ARRAY_FILTER_USE_KEY", ARRAY_FILTER_USE_KEY, CONST_CS | CONST_PERSISTENT); REGISTER_DOUBLE_CONSTANT("M_E", M_E, CONST_CS | CONST_PERSISTENT); ZEND_ASSERT(M_E == 2.718281828459045); diff --git a/ext/standard/php_array.h b/ext/standard/php_array.h index cac6a44ce91..5d42a22f420 100644 --- a/ext/standard/php_array.h +++ b/ext/standard/php_array.h @@ -34,6 +34,19 @@ PHPAPI zend_long php_count_recursive(HashTable *ht); PHPAPI bool php_array_data_shuffle(const php_random_algo *algo, php_random_status *status, zval *array); PHPAPI bool php_array_pick_keys(const php_random_algo *algo, php_random_status *status, zval *input, zend_long num_req, zval *retval, bool silent); +#define PHP_EXTR_OVERWRITE 0 +#define PHP_EXTR_SKIP 1 +#define PHP_EXTR_PREFIX_SAME 2 +#define PHP_EXTR_PREFIX_ALL 3 +#define PHP_EXTR_PREFIX_INVALID 4 +#define PHP_EXTR_PREFIX_IF_EXISTS 5 +#define PHP_EXTR_IF_EXISTS 6 + +#define PHP_EXTR_REFS 0x100 + +#define PHP_CASE_LOWER 0 +#define PHP_CASE_UPPER 1 + #define PHP_SORT_REGULAR 0 #define PHP_SORT_NUMERIC 1 #define PHP_SORT_STRING 2 @@ -43,8 +56,8 @@ PHPAPI bool php_array_pick_keys(const php_random_algo *algo, php_random_status * #define PHP_SORT_NATURAL 6 #define PHP_SORT_FLAG_CASE 8 -#define COUNT_NORMAL 0 -#define COUNT_RECURSIVE 1 +#define PHP_COUNT_NORMAL 0 +#define PHP_COUNT_RECURSIVE 1 #define ARRAY_FILTER_USE_BOTH 1 #define ARRAY_FILTER_USE_KEY 2