@@ -2438,7 +2438,7 @@ PHP_FUNCTION(imagecolorsforindex)
2438
2438
col = index ;
2439
2439
2440
2440
if ((col >= 0 && gdImageTrueColor (im )) || (!gdImageTrueColor (im ) && col >= 0 && col < gdImageColorsTotal (im ))) {
2441
- array_init (return_value );
2441
+ array_init_size (return_value , 4 );
2442
2442
2443
2443
add_assoc_long (return_value ,"red" , gdImageRed (im ,col ));
2444
2444
add_assoc_long (return_value ,"green" , gdImageGreen (im ,col ));
@@ -3303,11 +3303,12 @@ PHP_FUNCTION(imagegetclip)
3303
3303
3304
3304
gdImageGetClip (im , & x1 , & y1 , & x2 , & y2 );
3305
3305
3306
- array_init (return_value );
3307
- add_next_index_long (return_value , x1 );
3308
- add_next_index_long (return_value , y1 );
3309
- add_next_index_long (return_value , x2 );
3310
- add_next_index_long (return_value , y2 );
3306
+ array_init_size (return_value , 4 );
3307
+ zend_hash_real_init_packed (Z_ARRVAL_P (return_value ));
3308
+ add_index_long (return_value , 0 , x1 );
3309
+ add_index_long (return_value , 1 , y1 );
3310
+ add_index_long (return_value , 2 , x2 );
3311
+ add_index_long (return_value , 3 , y2 );
3311
3312
}
3312
3313
/* }}} */
3313
3314
@@ -3398,11 +3399,12 @@ static void php_imagettftext_common(INTERNAL_FUNCTION_PARAMETERS, int mode)
3398
3399
RETURN_FALSE ;
3399
3400
}
3400
3401
3401
- array_init (return_value );
3402
+ array_init_size (return_value , 8 );
3403
+ zend_hash_real_init_packed (Z_ARRVAL_P (return_value ));
3402
3404
3403
3405
/* return array with the text's bounding box */
3404
3406
for (i = 0 ; i < 8 ; i ++ ) {
3405
- add_next_index_long (return_value , brect [i ]);
3407
+ add_index_long (return_value , i , brect [i ]);
3406
3408
}
3407
3409
}
3408
3410
/* }}} */
@@ -4130,7 +4132,8 @@ PHP_FUNCTION(imageaffinematrixget)
4130
4132
if (res == GD_FALSE ) {
4131
4133
RETURN_FALSE ;
4132
4134
} else {
4133
- array_init (return_value );
4135
+ array_init_size (return_value , 6 );
4136
+ zend_hash_real_init_packed (Z_ARRVAL_P (return_value ));
4134
4137
for (uint8_t i = 0 ; i < 6 ; i ++ ) {
4135
4138
add_index_double (return_value , i , affine [i ]);
4136
4139
}
@@ -4196,7 +4199,8 @@ PHP_FUNCTION(imageaffinematrixconcat)
4196
4199
RETURN_FALSE ;
4197
4200
}
4198
4201
4199
- array_init (return_value );
4202
+ array_init_size (return_value , 6 );
4203
+ zend_hash_real_init_packed (Z_ARRVAL_P (return_value ));
4200
4204
for (i = 0 ; i < 6 ; i ++ ) {
4201
4205
add_index_double (return_value , i , mr [i ]);
4202
4206
}
@@ -4288,9 +4292,10 @@ PHP_FUNCTION(imageresolution)
4288
4292
RETURN_TRUE ;
4289
4293
}
4290
4294
4291
- array_init (return_value );
4292
- add_next_index_long (return_value , gdImageResolutionX (im ));
4293
- add_next_index_long (return_value , gdImageResolutionY (im ));
4295
+ zval imx , imy ;
4296
+ ZVAL_LONG (& imx , gdImageResolutionX (im ));
4297
+ ZVAL_LONG (& imy , gdImageResolutionY (im ));
4298
+ RETURN_ARR (zend_new_pair (& imx , & imy ));
4294
4299
}
4295
4300
/* }}} */
4296
4301
0 commit comments