Show
Ignore:
Timestamp:
01/06/05 05:12:26 (4 years ago)
Author:
segv74
Message:

bug fix for 1091815 ( Encoded files and php4.3.10 )
- not much tested yet.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • eaccelerator/trunk/loader.c

    r50 r57  
    598598          case EXT_INIT_FCALL: 
    599599          case EXT_FETCH: 
    600           case EXT_FE: 
    601600          case EXT_CAST: 
    602601          case EXT_DECLARE: 
     
    607606            opline->extended_value = decode(p, l); 
    608607            break; 
     608          case EXT_FE: /* EXT_FE is added at MMC_ENCODER_VERSION = 3 to support php 4.3.10 */ 
     609#if MMC_ENCODER_VERSION >= 3 
     610            if (((loader_data*)MMCG(mem))->version >= 3) { 
     611              opline->extended_value = decode(p, l); 
     612            } 
     613#endif 
     614            break; 
    609615          case EXT_OPLINE: 
    610616            opline->extended_value = decode_opline(to->last, p, l); 
     
    617623            break; 
    618624        } 
     625 
     626#if MMC_ENCODER_VERSION >= 3 && defined(ZEND_FE_FETCH_WITH_KEY) && !defined(ZEND_ENGINE_2) 
     627        /* correct ZEND_FE_FETCH's extended value with old version (1,2) */ 
     628        if (opline->opcode == ZEND_FE_FETCH) { 
     629          if (((loader_data*)MMCG(mem))->version < 3) { 
     630            opline->extended_value |= ZEND_FE_FETCH_WITH_KEY; 
     631          } 
     632        } 
     633#endif 
    619634        switch (ops & RES_MASK) { 
    620635          case RES_UNUSED: