Changeset 645
- Timestamp:
- 2009-07-08T06:39:33+02:00 (4 years ago)
- Location:
- trunk/processor
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/processor/head.m4
r512 r645 131 131 /* {{{ xc_calc_string_n */ 132 132 REDEF(`KIND', `calc') 133 static inline void xc_calc_string_n(xc_processor_t *processor, zend_uchar type, zstr str, long size IFASSERT(`, int relayline')) {133 static inline void xc_calc_string_n(xc_processor_t *processor, zend_uchar type, const zstr str, long size IFASSERT(`, int relayline')) { 134 134 pushdef(`__LINE__', `relayline') 135 135 int realsize = UNISW(size, (type == IS_UNICODE) ? UBYTES(size) : size); … … 153 153 /* {{{ xc_store_string_n */ 154 154 REDEF(`KIND', `store') 155 static inline zstr xc_store_string_n(xc_processor_t *processor, zend_uchar type, zstr str, long size IFASSERT(`, int relayline')) {155 static inline zstr xc_store_string_n(xc_processor_t *processor, zend_uchar type, const zstr str, long size IFASSERT(`, int relayline')) { 156 156 pushdef(`__LINE__', `relayline') 157 157 int realsize = UNISW(size, (type == IS_UNICODE) ? UBYTES(size) : size); -
trunk/processor/processor.m4
r643 r645 220 220 DEF_STRUCT_P_FUNC(`zend_arg_info', , ` 221 221 DISPATCH(zend_uint, name_len) 222 COPY(name)222 PROC_ZSTRING_L(, name, name_len) 223 223 DISPATCH(zend_uint, class_name_len) 224 COPY(class_name)224 PROC_ZSTRING_L(, class_name, class_name_len) 225 225 DISPATCH(zend_bool, array_type_hint) 226 226 DISPATCH(zend_bool, allow_null) -
trunk/processor/string.m4
r504 r645 21 21 STRTYPE, `zstr_char', `ZSTR_S($1)', 22 22 `', `', `$1')) 23 pushdef(`U', ifelse( 24 PTRTYPE, `char', `', 25 PTRTYPE, `UChar', `u')) 23 26 if (SRCPTR == NULL) { 24 27 IFNOTMEMCPY(`IFCOPY(` … … 56 59 ') 57 60 ') 58 IFCALC(`xc_calc_string_n(processor, ISTYPE, SRCSTR, $3 IFASSERT(`, __LINE__'));')59 IFSTORE(`DSTPTR = ifelse(PTRTYPE,`char',`ZSTR_S',`ZSTR_U')(xc_store_string_n(processor, ISTYPE, SRCSTR, $3 IFASSERT(`, __LINE__')));')61 IFCALC(`xc_calc_string_n(processor, ISTYPE, ZSTR(SRCSTR), $3 IFASSERT(`, __LINE__'));') 62 IFSTORE(`DSTPTR = ifelse(PTRTYPE,`char',`ZSTR_S',`ZSTR_U')(xc_store_string_n(processor, ISTYPE, ZSTR(SRCSTR), $3 IFASSERT(`, __LINE__')));') 60 63 IFRESTORE(` 61 ALLOC(DSTPTR, `STRTYPE', `($3)') 62 memcpy(DSTPTR, SRCPTR, sizeof(STRTYPE) * ($3)); 64 DSTPTR = e`'U`'strndup(SRCPTR, ($3) - 1); 63 65 ') 64 66 FIXPOINTER_EX(`PTRTYPE', DSTPTR) … … 75 77 ') 76 78 } 79 popdef(`U') 77 80 popdef(`DSTPTR') 78 81 popdef(`SRCPTR')
Note: See TracChangeset
for help on using the changeset viewer.

