Changeset 199 in svn for trunk/processor/head.m4
- Timestamp:
- 2006-09-24T08:33:31Z (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/processor/head.m4
r196 r199 249 249 static int xc_hash_static_member_check(xc_processor_t *processor, Bucket *b TSRMLS_DC) /* {{{ */ 250 250 { 251 zend_class_entry *src = processor->active_class_entry_src;251 const zend_class_entry *src = processor->active_class_entry_src; 252 252 if (src->parent) { 253 253 zval **srczv; … … 265 265 static void inherit_static_prop(zval **p) /* {{{ */ 266 266 { 267 /* already set */ 268 #if 0 267 269 (*p)->refcount++; 268 270 (*p)->is_ref = 1; 271 #endif 269 272 } 270 273 /* }}} */ 271 274 static void xc_fix_static_members(xc_processor_t *processor, zend_class_entry *dst TSRMLS_DC) /* {{{ */ 272 275 { 273 zend_class_entry *parent_ce = dst->parent; 274 if (parent_ce->type != dst->type) { 275 /* User class extends internal class */ 276 zend_update_class_constants(parent_ce TSRMLS_CC); 277 zend_hash_merge(&dst->default_static_members, CE_STATIC_MEMBERS(parent_ce), (void (*)(void *)) inherit_static_prop, NULL, sizeof(zval *), 0); 278 } 279 else { 280 zend_hash_merge(&dst->default_static_members, &parent_ce->default_static_members, (void (*)(void *)) inherit_static_prop, NULL, sizeof(zval *), 0); 281 } 282 283 /* 284 HashPosition pos; 285 HashTable *pmembers = CE_STATIC_MEMBERS(dst->parent); 286 zval **zv; 287 for (zend_hash_internal_pointer_reset_ex(pmembers, &pos); 288 zend_hash_get_current_data_ex(pmembers, (void **) &zv, &pos) == SUCCESS; 289 zend_hash_move_forward_ex(pmembers, &pos)) { 290 if (zend_hash_quick_find(parent->static_members, p->arKey, p->nKeyLength, p->h, &pprop.ptr) == SUCCESS) { 291 } 292 } 293 */ 276 zend_hash_merge(&dst->default_static_members, &dst->parent->default_static_members, (void (*)(void *)) inherit_static_prop, NULL, sizeof(zval *), 0); 294 277 } 295 278 /* }}} */
Note: See TracChangeset
for help on using the changeset viewer.