summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/gd/gd.c120
1 files changed, 27 insertions, 93 deletions
diff --git a/ext/gd/gd.c b/ext/gd/gd.c
index 42e8cb7d65..135b548f6b 100644
--- a/ext/gd/gd.c
+++ b/ext/gd/gd.c
@@ -3978,20 +3978,20 @@ static void _php_image_convert(INTERNAL_FUNCTION_PARAMETERS, int image_type )
/* Section Filters */
#ifdef HAVE_GD_BUNDLED
-static void php_image_filter_negate(INTERNAL_FUNCTION_PARAMETERS)
-{
- zval **SIM;
- gdImagePtr im_src;
-
- if (ZEND_NUM_ARGS() != 2 || zend_get_parameters_ex(1, &SIM) == FAILURE) {
- ZEND_WRONG_PARAM_COUNT();
+#define PHP_GD_SINGLE_RES \
+ zval **SIM; \
+ gdImagePtr im_src; \
+ if (zend_get_parameters_ex(1, &SIM) == FAILURE) { \
+ RETURN_FALSE; \
+ } \
+ ZEND_FETCH_RESOURCE(im_src, gdImagePtr, SIM, -1, "Image", le_gd); \
+ if (im_src == NULL) { \
+ RETURN_FALSE; \
}
- ZEND_FETCH_RESOURCE(im_src, gdImagePtr, SIM, -1, "Image", le_gd);
-
- if (im_src == NULL) {
- RETURN_FALSE;
- }
+static void php_image_filter_negate(INTERNAL_FUNCTION_PARAMETERS)
+{
+ PHP_GD_SINGLE_RES
if (gdImageNegate(im_src) == 1) {
RETURN_TRUE;
@@ -4002,18 +4002,7 @@ static void php_image_filter_negate(INTERNAL_FUNCTION_PARAMETERS)
static void php_image_filter_grayscale(INTERNAL_FUNCTION_PARAMETERS)
{
- zval **SIM;
- gdImagePtr im_src;
-
- if (ZEND_NUM_ARGS() != 2 || zend_get_parameters_array_ex(1, &SIM) == FAILURE) {
- ZEND_WRONG_PARAM_COUNT();
- }
-
- ZEND_FETCH_RESOURCE(im_src, gdImagePtr, SIM, -1, "Image", le_gd);
-
- if (im_src == NULL) {
- RETURN_FALSE;
- }
+ PHP_GD_SINGLE_RES
if (gdImageGrayScale(im_src) == 1) {
RETURN_TRUE;
@@ -4028,8 +4017,8 @@ static void php_image_filter_brightness(INTERNAL_FUNCTION_PARAMETERS)
gdImagePtr im_src;
long brightness, tmp;
- if (ZEND_NUM_ARGS() != 3 || zend_parse_parameters(3 TSRMLS_CC, "zll", &SIM, &tmp, &brightness) == FAILURE) {
- ZEND_WRONG_PARAM_COUNT();
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "zll", &SIM, &tmp, &brightness) == FAILURE) {
+ RETURN_FALSE;
}
ZEND_FETCH_RESOURCE(im_src, gdImagePtr, &SIM, -1, "Image", le_gd);
@@ -4051,8 +4040,8 @@ static void php_image_filter_contrast(INTERNAL_FUNCTION_PARAMETERS)
gdImagePtr im_src;
long contrast, tmp;
- if (ZEND_NUM_ARGS() != 3 || zend_parse_parameters(3 TSRMLS_CC, "rll", &SIM, &tmp, &contrast) == FAILURE) {
- ZEND_WRONG_PARAM_COUNT();
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rll", &SIM, &tmp, &contrast) == FAILURE) {
+ RETURN_FALSE;
}
ZEND_FETCH_RESOURCE(im_src, gdImagePtr, &SIM, -1, "Image", le_gd);
@@ -4061,7 +4050,7 @@ static void php_image_filter_contrast(INTERNAL_FUNCTION_PARAMETERS)
RETURN_FALSE;
}
- if (gdImageBrightness(im_src, (int)contrast) == 1) {
+ if (gdImageContrast(im_src, (int)contrast) == 1) {
RETURN_TRUE;
}
@@ -4074,8 +4063,8 @@ static void php_image_filter_colorize(INTERNAL_FUNCTION_PARAMETERS)
gdImagePtr im_src;
long r,g,b,tmp;
- if (ZEND_NUM_ARGS() != 5 || zend_parse_parameters(5 TSRMLS_CC, "rllll", &SIM, &tmp, &r, &g, &b) == FAILURE) {
- ZEND_WRONG_PARAM_COUNT();
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rllll", &SIM, &tmp, &r, &g, &b) == FAILURE) {
+ RETURN_FALSE;
}
ZEND_FETCH_RESOURCE(im_src, gdImagePtr, &SIM, -1, "Image", le_gd);
@@ -4093,18 +4082,7 @@ static void php_image_filter_colorize(INTERNAL_FUNCTION_PARAMETERS)
static void php_image_filter_edgedetect(INTERNAL_FUNCTION_PARAMETERS)
{
- zval **SIM;
- gdImagePtr im_src;
-
- if (ZEND_NUM_ARGS() != 2 || zend_get_parameters_ex(1, &SIM) == FAILURE) {
- ZEND_WRONG_PARAM_COUNT();
- }
-
- ZEND_FETCH_RESOURCE(im_src, gdImagePtr, SIM, -1, "Image", le_gd);
-
- if (im_src == NULL) {
- RETURN_FALSE;
- }
+ PHP_GD_SINGLE_RES
if (gdImageEdgeDetectQuick(im_src) == 1) {
RETURN_TRUE;
@@ -4115,18 +4093,7 @@ static void php_image_filter_edgedetect(INTERNAL_FUNCTION_PARAMETERS)
static void php_image_filter_emboss(INTERNAL_FUNCTION_PARAMETERS)
{
- zval **SIM;
- gdImagePtr im_src;
-
- if (ZEND_NUM_ARGS() != 2 || zend_get_parameters_ex(1, &SIM) == FAILURE) {
- ZEND_WRONG_PARAM_COUNT();
- }
-
- ZEND_FETCH_RESOURCE(im_src, gdImagePtr, SIM, -1, "Image", le_gd);
-
- if (im_src == NULL) {
- RETURN_FALSE;
- }
+ PHP_GD_SINGLE_RES
if (gdImageEmboss(im_src) == 1) {
RETURN_TRUE;
@@ -4137,18 +4104,7 @@ static void php_image_filter_emboss(INTERNAL_FUNCTION_PARAMETERS)
static void php_image_filter_gaussian_blur(INTERNAL_FUNCTION_PARAMETERS)
{
- zval **SIM;
- gdImagePtr im_src;
-
- if (ZEND_NUM_ARGS() != 2 || zend_get_parameters_ex(1, &SIM) == FAILURE) {
- ZEND_WRONG_PARAM_COUNT();
- }
-
- ZEND_FETCH_RESOURCE(im_src, gdImagePtr, SIM, -1, "Image", le_gd);
-
- if (im_src == NULL) {
- RETURN_FALSE;
- }
+ PHP_GD_SINGLE_RES
if (gdImageGaussianBlur(im_src) == 1) {
RETURN_TRUE;
@@ -4159,18 +4115,7 @@ static void php_image_filter_gaussian_blur(INTERNAL_FUNCTION_PARAMETERS)
static void php_image_filter_selective_blur(INTERNAL_FUNCTION_PARAMETERS)
{
- zval **SIM;
- gdImagePtr im_src;
-
- if (ZEND_NUM_ARGS() != 2 || zend_get_parameters_ex(1, &SIM) == FAILURE){
- ZEND_WRONG_PARAM_COUNT();
- }
-
- ZEND_FETCH_RESOURCE(im_src, gdImagePtr, SIM, -1, "Image", le_gd);
-
- if (im_src==NULL) {
- RETURN_FALSE;
- }
+ PHP_GD_SINGLE_RES
if (gdImageSelectiveBlur(im_src) == 1) {
RETURN_TRUE;
@@ -4181,18 +4126,7 @@ static void php_image_filter_selective_blur(INTERNAL_FUNCTION_PARAMETERS)
static void php_image_filter_mean_removal(INTERNAL_FUNCTION_PARAMETERS)
{
- zval **SIM;
- gdImagePtr im_src;
-
- if (ZEND_NUM_ARGS() != 2 || zend_get_parameters_ex(1, &SIM) == FAILURE) {
- ZEND_WRONG_PARAM_COUNT();
- }
-
- ZEND_FETCH_RESOURCE(im_src, gdImagePtr, SIM, -1, "Image", le_gd);
-
- if (im_src == NULL) {
- RETURN_FALSE;
- }
+ PHP_GD_SINGLE_RES
if (gdImageMeanRemoval(im_src) == 1) {
RETURN_TRUE;
@@ -4208,8 +4142,8 @@ static void php_image_filter_smooth(INTERNAL_FUNCTION_PARAMETERS)
gdImagePtr im_src;
double weight;
- if (ZEND_NUM_ARGS() != 3 || zend_parse_parameters(3 TSRMLS_CC, "rld", &SIM, &tmp, &weight) == FAILURE) {
- ZEND_WRONG_PARAM_COUNT();
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rld", &SIM, &tmp, &weight) == FAILURE) {
+ RETURN_FALSE;
}
ZEND_FETCH_RESOURCE(im_src, gdImagePtr, &SIM, -1, "Image", le_gd);