Changeset 344 for trunk/xcache.c


Ignore:
Timestamp:
2007-02-04T07:22:14+01:00 (8 years ago)
Author:
moo
Message:

copy internal functions/classes into sandbox, they're needed by compiler

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/xcache.c

    r341 r344  
    10251025        Bucket *b;
    10261026        unsigned int i;
     1027        unsigned int j;
    10271028
    10281029#define COPY_H(vartype, var, cnt, name, datatype) do {        \
    1029     for (i = 0; b; i ++, b = b->pListNext) {                  \
    1030         vartype *data = &php->var[i];                         \
     1030    for (i = 0, j = 0; b; i ++, b = b->pListNext) {           \
     1031        vartype *data = &php->var[j];                         \
    10311032                                                              \
    10321033        if (i < old_##cnt) {                                  \
    10331034            continue;                                         \
    10341035        }                                                     \
     1036        j ++;                                                 \
    10351037                                                              \
    10361038        assert(i < old_##cnt + php->cnt);                     \
     
    16031605    int i;
    16041606
     1607    if (XG(internal_function_table).nTableSize == 0) {
     1608        zend_function tmp_func;
     1609        xc_cest_t tmp_cest;
     1610
     1611        zend_hash_init_ex(&XG(internal_function_table), 100, NULL, NULL, 1, 0);
     1612        zend_hash_copy(&XG(internal_function_table), CG(function_table), NULL, &tmp_func, sizeof(tmp_func));
     1613
     1614        zend_hash_init_ex(&XG(internal_class_table), 10, NULL, NULL, 1, 0);
     1615        zend_hash_copy(&XG(internal_class_table), CG(class_table), NULL, &tmp_cest, sizeof(tmp_cest));
     1616    }
    16051617    if (xc_php_hcache.size && !XG(php_holds)) {
    16061618        XG(php_holds) = calloc(xc_php_hcache.size, sizeof(xc_stack_t));
     
    16761688        xcache_globals->var_holds = NULL;
    16771689    }
     1690
     1691    zend_hash_destroy(&xcache_globals->internal_function_table);
     1692    zend_hash_destroy(&xcache_globals->internal_class_table);
    16781693}
    16791694/* }}} */
Note: See TracChangeset for help on using the changeset viewer.