@@ -1224,10 +1224,7 @@ PHP_MINIT_FUNCTION(gd)
1224
1224
REGISTER_LONG_CONSTANT ("IMG_CROP_BLACK" , GD_CROP_BLACK , CONST_CS | CONST_PERSISTENT );
1225
1225
REGISTER_LONG_CONSTANT ("IMG_CROP_WHITE" , GD_CROP_WHITE , CONST_CS | CONST_PERSISTENT );
1226
1226
REGISTER_LONG_CONSTANT ("IMG_CROP_SIDES" , GD_CROP_SIDES , CONST_CS | CONST_PERSISTENT );
1227
- #ifdef GD_ENABLE_CROP_THRESHOLD
1228
1227
REGISTER_LONG_CONSTANT ("IMG_CROP_THRESHOLD" , GD_CROP_THRESHOLD , CONST_CS | CONST_PERSISTENT );
1229
- #endif
1230
-
1231
1228
#else
1232
1229
REGISTER_LONG_CONSTANT ("GD_BUNDLED" , 0 , CONST_CS | CONST_PERSISTENT );
1233
1230
#endif
@@ -5160,49 +5157,46 @@ PHP_FUNCTION(imagecrop)
5160
5157
double threshold = 0.5f ;
5161
5158
gdImagePtr im ;
5162
5159
gdImagePtr im_crop ;
5163
- HashTable rect_hash ;
5164
5160
gdRect rect ;
5161
+ zval * z_rect ;
5165
5162
zval * * tmp ;
5166
5163
5167
- if (zend_parse_parameters (ZEND_NUM_ARGS () TSRMLS_CC , "r|h " , & IM , & rect_hash ) == FAILURE ) {
5164
+ if (zend_parse_parameters (ZEND_NUM_ARGS () TSRMLS_CC , "r|a " , & IM , & z_rect ) == FAILURE ) {
5168
5165
return ;
5169
5166
}
5170
5167
5171
5168
ZEND_FETCH_RESOURCE (im , gdImagePtr , & IM , -1 , "Image" , le_gd );
5172
5169
5173
- if (zend_hash_find (& rect_hash , "x" , strlen ("x" ), (void * * )& tmp ) != FAILURE ) {
5170
+ if (zend_hash_find (HASH_OF ( z_rect ) , "x" , sizeof ("x" ), (void * * )& tmp ) != FAILURE ) {
5174
5171
rect .x = Z_LVAL_PP (tmp );
5175
5172
} else {
5176
5173
php_error_docref (NULL TSRMLS_CC , E_WARNING , "Missing x position ");
5177
5174
RETURN_FALSE ;
5178
5175
}
5179
5176
5180
- if (zend_hash_find (& rect_hash , "y" , strlen ("x" ), (void * * )& tmp ) != FAILURE ) {
5177
+ if (zend_hash_find (HASH_OF ( z_rect ) , "y" , sizeof ("x" ), (void * * )& tmp ) != FAILURE ) {
5181
5178
rect .y = Z_LVAL_PP (tmp );
5182
5179
} else {
5183
5180
php_error_docref (NULL TSRMLS_CC , E_WARNING , "Missing y position ");
5184
5181
RETURN_FALSE ;
5185
5182
}
5186
5183
5187
- if (zend_hash_find (& rect_hash , "width" , strlen ( "x " ), (void * * )& tmp ) != FAILURE ) {
5184
+ if (zend_hash_find (HASH_OF ( z_rect ) , "width" , sizeof ( "width " ), (void * * )& tmp ) != FAILURE ) {
5188
5185
rect .width = Z_LVAL_PP (tmp );
5189
5186
} else {
5190
5187
php_error_docref (NULL TSRMLS_CC , E_WARNING , "Missing width ");
5191
5188
RETURN_FALSE ;
5192
5189
}
5193
5190
5194
- if (zend_hash_find (& rect_hash , "height" , strlen ( "x " ), (void * * )& tmp ) != FAILURE ) {
5195
- rect .width = Z_LVAL_PP (tmp );
5191
+ if (zend_hash_find (HASH_OF ( z_rect ) , "height" , sizeof ( "height " ), (void * * )& tmp ) != FAILURE ) {
5192
+ rect .height = Z_LVAL_PP (tmp );
5196
5193
} else {
5197
5194
php_error_docref (NULL TSRMLS_CC , E_WARNING , "Missing height ");
5198
5195
RETURN_FALSE ;
5199
5196
}
5200
5197
5201
5198
im_crop = gdImageCrop (im , & rect );
5202
5199
5203
- php_error_docref (NULL TSRMLS_CC , E_WARNING , "Unknown flip mode ");
5204
- RETURN_FALSE ;
5205
-
5206
5200
if (im_crop == NULL ) {
5207
5201
RETURN_FALSE ;
5208
5202
} else {
@@ -5238,15 +5232,15 @@ PHP_FUNCTION(imagecropauto)
5238
5232
case GD_CROP_SIDES :
5239
5233
im_crop = gdImageCropAuto (im , mode );
5240
5234
break ;
5241
- #ifdef GD_ENABLE_CROP_THRESHOLD
5235
+
5242
5236
case GD_CROP_THRESHOLD :
5243
5237
if (color < 0 ) {
5244
5238
php_error_docref (NULL TSRMLS_CC , E_WARNING , "Color argument missing with threshold mode" );
5245
5239
RETURN_FALSE ;
5246
5240
}
5247
5241
im_crop = gdImageCropThreshold (im , color , (float ) threshold );
5248
5242
break ;
5249
- #endif
5243
+
5250
5244
default :
5251
5245
php_error_docref (NULL TSRMLS_CC , E_WARNING , "Unknown flip mode ");
5252
5246
RETURN_FALSE ;
0 commit comments