Changeset 9a7a9f8 in git


Ignore:
Timestamp:
2014-05-28T16:24:54Z (6 years ago)
Author:
Xuefer <xuefer@…>
Branches:
master, trunk
Children:
caf19fe
Parents:
24b06d4
Message:

disassembler: fix support for assoc/next

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

Location:
processor
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • processor/main.m4

    r5f8c3d0 r9a7a9f8  
    165165dnl }}}
    166166dnl {{{ SETNULL_EX
    167 define(`SETNULL_EX', `IFCOPY(`$1 = NULL;')')
     167define(`SETNULL_EX', `
     168    IFDASM(`
     169        ifelse(`$2', `[]', `
     170            add_next_index_null(DST());
     171        ', `
     172            add_assoc_null_ex(DST(), XCACHE_STRS("ifelse(`$2', `', `$1', `$2')"));
     173        ')
     174    ')
     175    IFCOPY(`$1 = NULL;')
     176')
    168177define(`SETNULL', `SETNULL_EX(`DST(`$1')')DONE(`$1')')
    169178dnl }}}
    170179dnl {{{ COPYNULL_EX(1:dst, 2:elm-name)
    171180define(`COPYNULL_EX', `
    172     IFDASM(`add_assoc_null_ex(DST(), XCACHE_STRS("$2"));')
     181    IFDASM(`
     182        ifelse(`$2', `[]', `
     183            add_next_index_null(DST());
     184        ', `
     185            add_assoc_null_ex(DST(), XCACHE_STRS("ifelse(`$2', `', `$1', `$2')"));
     186        ')
     187    ')
    173188    IFNOTMEMCPY(`IFCOPY(`$1 = NULL;')')
    174189    assert(patsubst($1, DST(), SRC()) == NULL);
  • processor/process.m4

    r70d24b6 r9a7a9f8  
    9494                pushdef(`dst', `arr')
    9595                pushdef(`SRC', `ifelse(`$4', `', `', `($2)')' defn(`SRC') `[LOOPCOUNTER]')
    96                 popdef(`add_assoc_bool_ex', `add_next_index_bool($1, $3)')
    97                 popdef(`add_assoc_string_ex', `add_next_index_string($1, $3)')
    98                 popdef(`add_assoc_long_ex', `add_next_index_long($1, $3)')
    99                 popdef(`add_assoc_zval_ex', `add_next_index_zval($1, $3)')
     96                pushdef(`add_assoc_bool_ex', `add_next_index_bool($1, $3)')
     97                pushdef(`add_assoc_string_ex', `add_next_index_string($1, $3)')
     98                pushdef(`add_assoc_long_ex', `add_next_index_long($1, $3)')
     99                pushdef(`add_assoc_zval_ex', `add_next_index_zval($1, $3)')
    100100                DISABLECHECK(`
    101101                    PROCESS(`$2', `$3')
Note: See TracChangeset for help on using the changeset viewer.