Changeset 212

Show
Ignore:
Timestamp:
06/02/06 14:42:48 (3 years ago)
Author:
hans
Message:

* Removed two unused vars from the internal datastructures
* Fixed constructor inheritance. This fixes handling of implicit constructors and solves ticket #89

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • eaccelerator/trunk/ChangeLog

    r210 r212  
     12006-06-02  Hans Rakers <hans at parse dot nl> 
     2        * Removed two unused vars from the internal datastructures 
     3        * Fixed constructor inheritance. This fixes handling of implicit 
     4          constructors and solves ticket #89 
     5 
    162006-05-14  Bart Vanbrabant <bart.vanbrabant at zoeloelip.be> 
    27 
  • eaccelerator/trunk/ea_restore.c

    r205 r212  
    726726#ifdef ZEND_ENGINE_2 
    727727                to->parent = *parent_ptr; 
    728                 to->constructor = to->parent->constructor; 
    729                 to->destructor = to->parent->destructor; 
    730                 to->clone = to->parent->clone; 
    731728#endif 
    732729                DBG(ea_debug_printf, (EA_DEBUG, "restore_class_parent: found parent %s..\n", to->parent->name)); 
     
    746743        char *fname_lc = NULL; 
    747744        zend_function *f = NULL; 
    748         zend_function *old_ctor = to->constructor; 
    749745        Bucket *p = to->function_table.pListHead; 
    750746 
     
    753749                fname_len = strlen(f->common.function_name); 
    754750                fname_lc = zend_str_tolower_dup(f->common.function_name, fname_len); 
    755  
    756                 if (fname_len == cname_len && !memcmp(fname_lc, cname_lc, fname_len) &&  
    757                 to->constructor == old_ctor && f->common.scope != to->parent) { 
     751                 
     752                if (fname_len == cname_len && !memcmp(fname_lc, cname_lc, fname_len) && f->common.scope != to->parent) { 
    758753                        to->constructor = f; 
    759754                } else if (fname_lc[0] == '_' && fname_lc[1] == '_' && f->common.scope != to->parent) { 
  • eaccelerator/trunk/eaccelerator.h

    r207 r212  
    195195#endif 
    196196        char *function_name; 
    197         char *function_name_lc; 
    198197#ifdef ZEND_ENGINE_2 
    199198        char *scope_name; 
     
    225224        char type; 
    226225        char *name; 
    227         char *name_lc; 
    228226        zend_uint name_length; 
    229227        char *parent;