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


Ignore:
Timestamp:
2009-08-03T10:15:53+02:00 (6 years ago)
Author:
Xuefer
Message:

back patch __FILE and __DIR on cache restore

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/processor/struct.m4

    r534 r662  
    165165')
    166166dnl }}}
    167 dnl {{{ STRUCT_ARRAY_I(1:count, 2:type, 3:elm, 4:name=type)
    168 define(`STRUCT_ARRAY_I', `
    169 pushdef(`i', `ii')
    170 STRUCT_ARRAY(`$1', `$2', `$3', `$4')
    171 popdef(`i')
    172 ')
    173 dnl }}}
    174 dnl {{{ STRUCT_ARRAY(1:count, 2:type, 3:elm, 4:name=type)
     167dnl {{{ STRUCT_ARRAY(1:count, 2:type, 3:elm, 4:name=type, 5:loopcounter)
    175168define(`STRUCT_ARRAY', `
    176169    if (src->$3) {
     170        ifelse(
     171            `$5', `', `int i; pushdef(`LOOPCOUNTER', `i')',
     172            `', `', `pushdef(`LOOPCOUNTER', `$5')')
    177173        pushdefFUNC_NAME(`$2', `$4')
    178174        IFDASM(`
     
    180176            ALLOC_INIT_ZVAL(arr);
    181177            array_init(arr);
    182             for (i = 0; i < src->$1; i ++) {
     178            for (LOOPCOUNTER = 0; LOOPCOUNTER < src->$1; LOOPCOUNTER ++) {
    183179                zval *zv;
    184180
    185181                ALLOC_INIT_ZVAL(zv);
    186182                array_init(zv);
    187                 FUNC_NAME (zv, &(src->$3[i]) TSRMLS_CC);
     183                FUNC_NAME (zv, &(src->$3[LOOPCOUNTER]) TSRMLS_CC);
    188184                add_next_index_zval(arr, zv);
    189185            }
     
    192188            ALLOC(`dst->$3', `$2', `src->$1')
    193189            ifdef(`AFTER_ALLOC', AFTER_ALLOC)
    194             for (i = 0; i < src->$1; i ++) {
     190            for (LOOPCOUNTER = 0; LOOPCOUNTER < src->$1; LOOPCOUNTER ++) {
    195191                DISABLECHECK(`
    196                     ifdef(`BEFORE_LOOP', `BEFORE_LOOP')
    197                     STRUCT(`$2', `$3[i]', `$4')
     192                    STRUCT(`$2', `$3[LOOPCOUNTER]', `$4')
    198193                ')
    199194            }
     
    201196        DONE(`$3')
    202197        popdef(`FUNC_NAME')
     198        popdef(`LOOPCOUNTER')
    203199    }
    204200    else {
Note: See TracChangeset for help on using the changeset viewer.