int extract_refs = 0;
HashPosition pos;
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a|lz/", &var_array,
- &extract_type, &prefix) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a|lz/", &var_array, &extract_type, &prefix) == FAILURE) {
return;
}
return;
}
- if (extract_type > EXTR_SKIP && extract_type <= EXTR_PREFIX_IF_EXISTS
- && ZEND_NUM_ARGS() < 3) {
+ if (extract_type > EXTR_SKIP && extract_type <= EXTR_PREFIX_IF_EXISTS && ZEND_NUM_ARGS() < 3) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "specified extract type requires the prefix parameter");
return;
}
var_exists = 0;
if (key_type == HASH_KEY_IS_STRING ||
- key_type == HASH_KEY_IS_UNICODE) {
+ key_type == HASH_KEY_IS_UNICODE
+ ) {
if (key_type == HASH_KEY_IS_STRING) {
key_type = IS_STRING;
} else {
}
var_name_len--;
var_exists = zend_u_hash_exists(EG(active_symbol_table), key_type, var_name, var_name_len + 1);
- } else if (key_type == HASH_KEY_IS_LONG &&
- (extract_type == EXTR_PREFIX_ALL ||
- extract_type == EXTR_PREFIX_INVALID)) {
+ } else if ( key_type == HASH_KEY_IS_LONG &&
+ (extract_type == EXTR_PREFIX_ALL ||
+ extract_type == EXTR_PREFIX_INVALID)
+ ) {
zval num;
ZVAL_LONG(&num, num_key);
/* break omitted intentionally */
case EXTR_OVERWRITE:
+ /* GLOBALS protection */
if (var_exists &&
var_name_len == sizeof("GLOBALS") &&
- ZEND_U_EQUAL(key_type, var_name, var_name_len-1, "GLOBALS", sizeof("GLOBALS")-1)) {
+ ZEND_U_EQUAL(key_type, var_name, var_name_len-1, "GLOBALS", sizeof("GLOBALS")-1)
+ ) {
break;
}
-
ZVAL_ZSTRL(&final_name, key_type, var_name, var_name_len, 1);
break;
ZEND_U_SET_SYMBOL_WITH_LENGTH(EG(active_symbol_table), Z_TYPE(final_name), Z_UNIVAL(final_name), Z_UNILEN(final_name)+1, data, 1, 0);
}
-
count++;
}
zval_dtor(&final_name);
}
/* }}} */
-/* {{{ php_compact_var */
-static void php_compact_var(HashTable *eg_active_symbol_table, zval *return_value, zval *entry)
+static void php_compact_var(HashTable *eg_active_symbol_table, zval *return_value, zval *entry) /* {{{ */
{
zstr key;
int key_len;