Changeset 662 in svn for trunk/processor/dispatch.m4


Ignore:
Timestamp:
2009-08-03T08:15:53Z (6 years ago)
Author:
Xuefer
Message:

back patch __FILE and __DIR on cache restore

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/processor/dispatch.m4

    r484 r662  
    2828    )
    2929')
     30dnl {{{ DISPATCH_ARRAY(1:count, 2:type, 3:elm)
     31define(`DISPATCH_ARRAY', `
     32    if (src->$3) {
     33        int i;
     34        IFDASM(`
     35            zval *arr;
     36            ALLOC_INIT_ZVAL(arr);
     37            array_init(arr);
     38            for (i = 0; i < src->$1; i ++) {
     39                ifelse(
     40                    `$2', `zend_bool', `add_assoc_bool_ex(arr, ZEND_STRS("$3"), src->$3[i] ? 1 : 0);'
     41                , `', `', `add_assoc_long_ex(arr, ZEND_STRS("$3"), src->$3[i]);')
     42            }
     43            add_assoc_zval_ex(dst, ZEND_STRS("$3"), arr);
     44        ', `
     45            COPY_N_EX($@)
     46            for (i = 0; i < src->$1; i ++) {
     47                DISABLECHECK(`
     48                    DISPATCH(`$2', `$3[i]', `$4')
     49                ')
     50            }
     51        ')dnl IFDASM
     52        DONE(`$3')
     53    }
     54    else {
     55        COPYNULL(`$3')
     56    }
     57')
     58dnl }}}
Note: See TracChangeset for help on using the changeset viewer.