Changeset 504 in svn for trunk


Ignore:
Timestamp:
2008-01-05T04:42:14+01:00 (8 years ago)
Author:
Xuefer
Message:

PHP_6: updated support

Location:
trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/disassembler.c

    r393 r504  
    6666            }
    6767        }
    68         add_u_assoc_zval_ex(list, BUCKET_KEY_TYPE(b), buf, b->nKeyLength, zv);
     68        add_u_assoc_zval_ex(list, BUCKET_KEY_TYPE(b), ZSTR(buf), b->nKeyLength, zv);
    6969    }
    7070    efree(buf);
  • trunk/processor/hashtable.m4

    r393 r504  
    6060                    }
    6161                }
    62                 add_u_assoc_zval_ex(dst, BUCKET_KEY_TYPE(b), buf, keysize, zv);
     62                add_u_assoc_zval_ex(dst, BUCKET_KEY_TYPE(b), ZSTR(buf), keysize, zv);
    6363            }
    6464            ')
  • trunk/processor/main.m4

    r393 r504  
    111111        IFSTORE(`$1 = (zend_class_entry *) xc_get_class_num(processor, $2);')
    112112        IFRESTORE(`$1 = xc_get_class(processor, (zend_ulong) $2);')
    113         IFDASM(`add_assoc_stringl_ex(dst, ZEND_STRS("$3"), $2->name, strlen($2->name), 1);')
     113        IFDASM(`add_assoc_unicodel_ex(dst, ZEND_STRS("$3"), ZSTR_U($2->name), $2->name_length, 1);')
    114114    }
    115115    else {
  • trunk/processor/processor.m4

    r503 r504  
    5757DEF_STRUCT_P_FUNC(`zend_brk_cont_element', , `
    5858#ifdef ZEND_ENGINE_2_2
    59 #ifndef IS_UNICODE
    6059    DISPATCH(int, start)
    61 #endif
    6260#endif
    6361    DISPATCH(int, cont)
     
    283281#endif
    284282    dnl isnt in php6 yet
    285 #if defined(ZEND_ENGINE_2_2) && !defined(IS_UNICODE)
     283#if defined(ZEND_ENGINE_2_2)
    286284    PROC_CLASS_ENTRY_P(ce)
    287285#endif
  • trunk/processor/string.m4

    r393 r504  
    3939
    4040                INIT_ZVAL(zv);
    41                 ZVAL_UNICODEL(&zv, (UChar *) ($2), $3 - 1, 1);
     41                ZVAL_UNICODEL(&zv, ZSTR_U($2), $3 - 1, 1);
    4242                zend_make_printable_zval(&zv, &reszv, &usecopy);
    4343                fprintf(stderr, "string:%s:\t\"", "$1");
     
    6464        FIXPOINTER_EX(`PTRTYPE', DSTPTR)
    6565        IFDASM(`
    66                 ifelse(STRTYPE,zstr_uchar, `
    67                     add_assoc_unicodel_ex(dst, ZEND_STRS("$4"), $2, $3-1, 1);
    68                     ', ` dnl else
    69                     add_assoc_stringl_ex(dst, ZEND_STRS("$4"), $2, $3-1, 1);')
     66            ifelse(STRTYPE,zstr_uchar, `
     67                add_assoc_unicodel_ex(dst, ZEND_STRS("$4"), ZSTR_U($2), $3-1, 1);
     68                ', ` dnl else
     69                ifelse(STRTYPE,zstr_char, `
     70                    add_assoc_stringl_ex(dst, ZEND_STRS("$4"), ZSTR_S($2), $3-1, 1);
     71                    ', `
     72                    add_assoc_stringl_ex(dst, ZEND_STRS("$4"), $2, $3-1, 1);
    7073                ')
     74            ')
     75        ')
    7176    }
    7277    popdef(`DSTPTR')
  • trunk/utils.c

    r500 r504  
    584584#endif
    585585
    586 void xc_zend_class_add_ref(zend_class_entry ZESW(*ce, **ce))
    587 {
    588 #ifdef ZEND_ENGINE_2
    589     (*ce)->refcount++;
    590 #else
    591     (*ce->refcount)++;
    592 #endif
    593 }
    594 
    595586xc_sandbox_t *xc_sandbox_init(xc_sandbox_t *sandbox, char *filename TSRMLS_DC) /* {{{ */
    596587{
     
    635626    {
    636627        zend_function tmp_func;
    637         zend_hash_copy(&TG(function_table), &XG(internal_function_table), (copy_ctor_func_t) function_add_ref, (void *) &tmp_func, sizeof(tmp_func));
     628        zend_hash_copy(&TG(function_table), &XG(internal_function_table), NULL, (void *) &tmp_func, sizeof(tmp_func));
    638629    }
    639630    TG(internal_function_tail) = TG(function_table).pListTail;
     
    644635    {
    645636        xc_cest_t tmp_cest;
    646         zend_hash_copy(&TG(class_table), &XG(internal_class_table), (copy_ctor_func_t) xc_zend_class_add_ref, (void *) &tmp_cest, sizeof(tmp_cest));
     637        zend_hash_copy(&TG(class_table), &XG(internal_class_table), NULL, (void *) &tmp_cest, sizeof(tmp_cest));
    647638    }
    648639#endif
  • trunk/xcache.c

    r503 r504  
    17201720        zend_hash_destroy(&XG(internal_class_table));
    17211721
    1722         zend_hash_init_ex(&XG(internal_function_table), 100, NULL, CG(function_table)->pDestructor, 1, 0);
    1723         zend_hash_init_ex(&XG(internal_class_table),    10,  NULL, CG(class_table)->pDestructor,    1, 0);
    1724 
    1725         zend_hash_copy(&XG(internal_function_table), CG(function_table), (copy_ctor_func_t) function_add_ref, &tmp_func, sizeof(tmp_func));
    1726         zend_hash_copy(&XG(internal_class_table), CG(class_table), (copy_ctor_func_t) xc_zend_class_add_ref, &tmp_cest, sizeof(tmp_cest));
     1722        zend_hash_init_ex(&XG(internal_function_table), 100, NULL, NULL, 1, 0);
     1723        zend_hash_init_ex(&XG(internal_class_table),    10,  NULL, NULL, 1, 0);
     1724
     1725        zend_hash_copy(&XG(internal_function_table), CG(function_table), NULL, &tmp_func, sizeof(tmp_func));
     1726        zend_hash_copy(&XG(internal_class_table), CG(class_table), NULL, &tmp_cest, sizeof(tmp_cest));
    17271727
    17281728        XG(internal_table_copied) = 1;
Note: See TracChangeset for help on using the changeset viewer.