Changeset 835
- Timestamp:
- 03/25/2012 03:58:22 AM (14 months ago)
- Files:
-
- 1 modified
-
trunk/processor/struct.m4 (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/processor/struct.m4
r740 r835 187 187 ALLOC_INIT_ZVAL(arr); 188 188 array_init(arr); 189 for (LOOPCOUNTER = 0; LOOPCOUNTER < src->$1; LOOPCOUNTER ++) { 189 190 LOOPCOUNTER = 0; 191 while ( 192 ifelse(`$1', `', `src->$3[LOOPCOUNTER]', 193 `', `', `LOOPCOUNTER < src->$1') 194 ) { 190 195 zval *zv; 191 196 … … 194 199 FUNC_NAME (zv, &(src->$3[LOOPCOUNTER]) TSRMLS_CC); 195 200 add_next_index_zval(arr, zv); 201 202 ++LOOPCOUNTER; 196 203 } 197 204 add_assoc_zval_ex(dst, ZEND_STRS("$3"), arr); 198 205 ', ` 199 ALLOC(`dst->$3', `$2', `src->$1') 206 dnl find count with NULL 207 ifelse(`$1', `', ` 208 int count; 209 for (count = 0; src->$3[count]; ++count) { 210 /* just count */ 211 } 212 ++count; 213 pushdef(`STRUCT_COUNT', `count') 214 ', 215 `', `', `pushdef(`STRUCT_COUNT', `src->$1')') 216 ALLOC(`dst->$3', `$2', `STRUCT_COUNT') 200 217 ifdef(`AFTER_ALLOC', AFTER_ALLOC) 201 for (LOOPCOUNTER = 0; LOOPCOUNTER < src->$1; LOOPCOUNTER ++) { 218 219 LOOPCOUNTER = 0; 220 while ( 221 ifelse(`$1', `', `src->$3[LOOPCOUNTER]', 222 `', `', `LOOPCOUNTER < src->$1') 223 ) { 202 224 DISABLECHECK(` 203 225 STRUCT(`$2', `$3[LOOPCOUNTER]', `$4') 204 226 ') 227 228 ++LOOPCOUNTER; 205 229 } 230 dnl tailing NULL 231 ifelse(`$1', `', `IFCOPY(`dst->$3[LOOPCOUNTER] = NULL;')') 232 popdef(`STRUCT_COUNT') 206 233 ')dnl IFDASM 207 234 DONE(`$3')

