Changeset 907b84c in git


Ignore:
Timestamp:
2013-07-10T08:32:58Z (6 years ago)
Author:
Xuefer <xuefer@…>
Branches:
3.1, 3.2, master, trunk
Children:
d0bcd02
Parents:
2b73d8c
Message:

disassembler: fix nullable array handling

git-svn-id: svn://svn.lighttpd.net/xcache/trunk@1287 c26eb9a1-5813-0410-bd6c-c2e55f420ca7

Location:
processor
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • processor/processor.m4

    rc7492e6 r907b84c  
    195195DEF_STRUCT_P_FUNC(`zval_ptr_nullable', , `dnl {{{
    196196    if (src[0]) {
     197        pushdef(`DASM_STRUCT_DIRECT')
    197198        STRUCT_P_EX(zval_ptr, dst, src, `', `', ` ')
     199        popdef(`DASM_STRUCT_DIRECT')
    198200    }
    199201    else {
  • processor/struct.m4

    r328d09a r907b84c  
    133133    assert(sizeof($1) == sizeof(($6 $3)[0]));
    134134    ifelse(`$6', `', `ALLOC(`$2', `$1')')
     135ifdef(`DASM_STRUCT_DIRECT', `', `
    135136    IFDASM(`do {
    136137        zval *zv;
     
    138139        array_init(zv);
    139140    ')
     141')
    140142    FUNC_NAME`'(
    141143        IFDPRINT( `           $6 $3, indent')
     
    143145        IFSTORE(  `processor, $6 $2, $6 $3')
    144146        IFRESTORE(`processor, $6 $2, $6 $3')
    145         IFDASM(   `dasm, zv, $6 $3')
     147        IFDASM(   `dasm, ifdef(`DASM_STRUCT_DIRECT', `dst', `zv'), $6 $3')
    146148        IFASM(    `$6 $2, $6 $3')
    147149        TSRMLS_CC
    148150    );
     151ifdef(`DASM_STRUCT_DIRECT', `', `
    149152    IFDASM(`
    150153        add_assoc_zval_ex(dst, ZEND_STRS("$4"), zv);
    151154    } while (0);
    152155    ')
     156')
    153157    popdef(`FUNC_NAME')
    154158    ifelse(`$6', , `FIXPOINTER_EX(`$1', `$2')')
Note: See TracChangeset for help on using the changeset viewer.