diff options
| author | Xinchen Hui <laruence@gmail.com> | 2014-02-11 19:30:42 +0800 |
|---|---|---|
| committer | Xinchen Hui <laruence@gmail.com> | 2014-02-11 19:33:18 +0800 |
| commit | 3f4c877bf7cff179b719364de1c6fd5ff8dd105f (patch) | |
| tree | a13dcc4219b778ec9997380243ed0ea3075bb3c7 /ext/spl/spl_functions.c | |
| parent | 00244baba8f4e90861075ac9b73adea46bb21aaf (diff) | |
| download | php-git-3f4c877bf7cff179b719364de1c6fd5ff8dd105f.tar.gz | |
Use better data structures (incomplete)
Diffstat (limited to 'ext/spl/spl_functions.c')
| -rw-r--r-- | ext/spl/spl_functions.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/ext/spl/spl_functions.c b/ext/spl/spl_functions.c index 1a3134f85f..6b5a612637 100644 --- a/ext/spl/spl_functions.c +++ b/ext/spl/spl_functions.c @@ -80,13 +80,13 @@ void spl_register_property( zend_class_entry * class_entry, char *prop_name, int void spl_add_class_name(zval *list, zend_class_entry * pce, int allow, int ce_flags TSRMLS_DC) { if (!allow || (allow > 0 && pce->ce_flags & ce_flags) || (allow < 0 && !(pce->ce_flags & ce_flags))) { - size_t len = pce->name_length; zval *tmp; - if (zend_hash_find(Z_ARRVAL_P(list), pce->name, len+1, (void*)&tmp) == FAILURE) { + if ((tmp = zend_hash_find(Z_ARRVAL_P(list), pce->name)) == NULL) { MAKE_STD_ZVAL(tmp); - ZVAL_STRINGL(tmp, pce->name, pce->name_length, 1); - zend_hash_add(Z_ARRVAL_P(list), pce->name, len+1, &tmp, sizeof(zval *), NULL); + STR_ADDREF(pce->name); + ZVAL_STR(tmp, pce->name); + zend_hash_add(Z_ARRVAL_P(list), pce->name, tmp); } } } @@ -137,7 +137,7 @@ char * spl_gen_private_prop_name(zend_class_entry *ce, char *prop_name, int prop { char *rv; - zend_mangle_property_name(&rv, name_len, ce->name, ce->name_length, prop_name, prop_len, 0); + zend_mangle_property_name(&rv, name_len, ce->name->val, ce->name->len, prop_name, prop_len, 0); return rv; } |
