Ignore:
Timestamp:
2006-08-27T07:09:02+02:00 (8 years ago)
Author:
moo
Message:

PHP_6: builds again with php6. update UChar/void ptr to zstr.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/processor/string.m4

    r100 r103  
    33define(`PROC_STRING_N_EX', ` 
    44    pushdef(`STRTYPE', `ifelse(`$5',,`char',`$5')') 
    5     pushdef(`ISTYPE', ifelse(STRTYPE,`char',IS_STRING,IS_UNICODE)) 
    6     if ($2 == NULL) { 
     5    pushdef(`PTRTYPE', ifelse( 
     6            STRTYPE, `char',      `char', 
     7            STRTYPE, `zstr_char', `char', 
     8            `',      `',          `UChar')) 
     9    pushdef(`ISTYPE', ifelse(STRTYPE,`zstr_uchar',IS_UNICODE,IS_STRING)) 
     10    pushdef(`UNI_STRLEN', ifelse( 
     11            STRTYPE, `zstr_uchar', `xc_zstrlen_uchar', 
     12            STRTYPE, `zstr_char',  `xc_zstrlen_char', 
     13            `',      `',           `strlen')) 
     14    pushdef(`SRCSTR', ifelse(STRTYPE,`char',`ZSTR($2)',`$2')) 
     15    pushdef(`SRCPTR', ifelse( 
     16            STRTYPE, `zstr_uchar', `ZSTR_U($2)', 
     17            STRTYPE, `zstr_char',  `ZSTR_S($2)', 
     18            `',      `',           `$2')) 
     19    pushdef(`DSTPTR', ifelse( 
     20            STRTYPE, `zstr_uchar', `ZSTR_U($1)', 
     21            STRTYPE, `zstr_char',  `ZSTR_S($1)', 
     22            `',      `',           `$1')) 
     23    if (SRCPTR == NULL) { 
    724        IFNOTMEMCPY(`IFCOPY(` 
    8             $1 = NULL; 
     25            DSTPTR = NULL; 
    926        ')') 
    1027        IFDASM(` 
     
    1431    else { 
    1532        IFDPRINT(`INDENT() 
    16             ifelse(STRTYPE, `UChar', ` 
     33            ifelse(STRTYPE, `zstr_uchar', ` 
    1734#ifdef IS_UNICODE 
    1835            do { 
     
    3249#endif 
    3350            ', ` 
    34             fprintf(stderr, "string:%s:\t\"%s\" len=%d\n", "$1", $2, $3 - 1); 
     51            fprintf(stderr, "string:%s:\t\"%s\" len=%d\n", "$1", SRCPTR, $3 - 1); 
    3552            ') 
    3653        ') 
    37         IFCALC(`xc_calc_string_n(processor, ISTYPE, (void *) $2, `$3' IFASSERT(`, __LINE__'));') 
    38         IFSTORE(`$1 = (STRTYPE *) xc_store_string_n(processor, ISTYPE, (char *) $2, `$3' IFASSERT(`, __LINE__'));') 
     54        IFCALC(`xc_calc_string_n(processor, ISTYPE, SRCSTR, $3 IFASSERT(`, __LINE__'));') 
     55        IFSTORE(`DSTPTR = ifelse(PTRTYPE,`char',`ZSTR_S',`ZSTR_U')(xc_store_string_n(processor, ISTYPE, SRCSTR, $3 IFASSERT(`, __LINE__')));') 
    3956        IFRESTORE(` 
    40             ALLOC(`$1', `STRTYPE', `($3)') 
    41             memcpy($1, $2, sizeof(STRTYPE) * ($3)); 
     57            ALLOC(DSTPTR, `STRTYPE', `($3)') 
     58            memcpy(DSTPTR, SRCPTR, sizeof(STRTYPE) * ($3)); 
    4259        ') 
    43         FIXPOINTER_EX(`STRTYPE', `$1') 
     60        FIXPOINTER_EX(`PTRTYPE', DSTPTR) 
    4461        IFDASM(` 
    45                 ifelse(STRTYPE,UChar, ` 
     62                ifelse(STRTYPE,zstr_uchar, ` 
    4663                    add_assoc_unicodel_ex(dst, ZEND_STRS("$4"), $2, $3-1, 1); 
    4764                    ', ` dnl else 
     
    4966                ') 
    5067    } 
     68    popdef(`DSTPTR') 
     69    popdef(`SRCPTR') 
     70    popdef(`SRCSTR') 
     71    popdef(`UNI_STRLEN') 
    5172    popdef(`STRTYPE') 
    5273    popdef(`ISTYPE') 
     
    5980define(`PROC_STRING',   `DBG(`$0($*)') DONE(`$1')`'PROC_STRING_N_EX(`dst->$1', `src->$1', `strlen(src->$1) + 1', `$1', `char')') 
    6081 
    61 dnl {{{ PROC_USTRING_N(1:type, 2:name, 3:size, 4:size_type) 
    62 define(`PROC_USTRING_N', ` 
     82dnl {{{ PROC_ZSTRING_N(1:type, 2:name, 3:size, 4:size_type) 
     83define(`PROC_ZSTRING_N', ` 
    6384    DBG(`$0($*)') 
    6485#ifdef IS_UNICODE 
    6586    pushdef(`NSIZE', ifelse( 
    66             `$4', `strlen', `strlen(src->$2) + 1', 
     87            `$4', `strlen', `UNI_STRLEN (src->$2) + 1', 
    6788            `$4', `len',    `src->$3 + 1', 
    6889            `',   `',       `src->$3', 
    6990            )) 
    7091    DONE(`$2') 
    71     ifelse(`$1', `1', `PROC_STRING_N_EX(`dst->$2', `src->$2', NSIZE, `$2', `UChar') 
     92    ifelse(`$1', `1', `PROC_STRING_N_EX(`dst->$2', `src->$2', defn(`NSIZE'), `$2', `zstr_uchar') 
    7293    ', ` 
    73         if (ifelse(`$1', `', `UG(unicode)', `src->$1')) { 
    74             PROC_STRING_N_EX(`dst->$2', `src->$2', NSIZE, `$2', `UChar') 
     94        if (ifelse(`$1', `', `UG(unicode)', `src->$1 == IS_UNICODE')) { 
     95            PROC_STRING_N_EX(`dst->$2', `src->$2', defn(`NSIZE'), `$2', `zstr_uchar') 
    7596        } 
    7697        else { 
    77             PROC_STRING_N_EX(`dst->$2', `src->$2', NSIZE, `$2', `char') 
     98            PROC_STRING_N_EX(`dst->$2', `src->$2', defn(`NSIZE'), `$2', `zstr_char') 
    7899        } 
    79100    ') 
    80101#else 
    81102    DONE(`$2') 
    82     PROC_STRING_N_EX(`dst->$2', `src->$2', NSIZE, `$2', `char') 
     103    PROC_STRING_N_EX(`dst->$2', `src->$2', NSIZE, `$2', `zstr_char') 
    83104#endif 
    84105    popdef(`NSIZE') 
    85106') 
    86107// }}} 
    87 define(`PROC_USTRING_L', `DBG(`$0($*)') PROC_USTRING_N(`$1', `$2', `$3', `len')') 
    88 define(`PROC_USTRING', `DBG(`$0($*)') PROC_USTRING_N(`$1', `$2', , `strlen')') 
     108define(`PROC_ZSTRING_L', `DBG(`$0($*)') PROC_ZSTRING_N(`$1', `$2', `$3', `len')') 
     109define(`PROC_ZSTRING', `DBG(`$0($*)') PROC_ZSTRING_N(`$1', `$2', , `strlen')') 
Note: See TracChangeset for help on using the changeset viewer.