summaryrefslogtreecommitdiff
path: root/ext/gd
diff options
context:
space:
mode:
authorULF WENDEL <uw@php.net>2012-10-22 13:37:37 +0200
committerULF WENDEL <uw@php.net>2012-10-22 13:37:37 +0200
commitdfeb91acc7d44cc5035db34a31310dc3075df11f (patch)
treee6e1b6c6898fc10eb602a9f5317371180d208b5b /ext/gd
parent645f84e41bbda22c7a19326cd1a7df7994678976 (diff)
parentdbb72de6c75796803ed6ed103763a12eebc9e78e (diff)
downloadphp-git-dfeb91acc7d44cc5035db34a31310dc3075df11f.tar.gz
Merge branch 'PHP-5.3' of git.php.net:php-src into PHP-5.3
* 'PHP-5.3' of git.php.net:php-src: (123 commits) Re-fixed bug #60901 (Improve "tail" syntax for AIX installation) updated NEWS Fixed bug #63284 PCRE upgrade to 8.31 preg indenpent test script for #63055 Update libmagic.patch Add fix & missing fix Fixed bug #63307 (Unused variable in oci8.c) Fixed bug #63265 (Add ORA-00028 to the PHP_OCI_HANDLE_ERROR macro) - Updated to version 2012.7 (2012g) SUpport newer bisons. Merge the fix for #61964 to 5.3, which will fix #63304 indent better fix for #63055 Fixed bug #63055 (Segfault in zend_gc with SF2 testsuite) PHP 5.3.18 NEWS fix NEWS fix compilation failure on 32/64bit linux systems, when libmysql is used with ext/mysql Remove executable permission on inc Remove executable permission on phpt Fixed bug #63236 (Executable permission on various source files) ...
Diffstat (limited to 'ext/gd')
-rw-r--r--ext/gd/gd.c5
-rw-r--r--ext/gd/libgd/xbm.c2
-rw-r--r--ext/gd/tests/bug43073.phpt5
-rw-r--r--ext/gd/tests/bug43073_1.phpt51
-rw-r--r--ext/gd/tests/bug48801.phpt5
-rw-r--r--ext/gd/tests/bug48801_1.phpt25
-rw-r--r--ext/gd/tests/func.inc61
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imageantialias_error1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imageantialias_error2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagearc_basic.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagearc_error1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagearc_variation1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagearc_variation2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagecolormatch_basic.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagecolormatch_error1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagecolormatch_error2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagecolormatch_error3.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagecolormatch_error4.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagecolorset_basic.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imageconvolution_basic.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imageconvolution_error1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imageconvolution_error2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imageconvolution_error3.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagecopymerge_basic.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagecopymerge_error.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imageellipse_basic.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imageellipse_error1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imageellipse_error2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imageellipse_error3.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imageellipse_error4.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imageellipse_error5.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imageellipse_error6.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imageellipse_error7.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imageellipse_error8.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilledarc_basic.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilledarc_error1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilledarc_variation1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilledarc_variation2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilltoborder_basic.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilltoborder_error1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilltoborder_error2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilltoborder_error3.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilltoborder_error4.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilltoborder_error5.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilltoborder_error6.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilltoborder_error7.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilter_error1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilter_error10.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilter_error11.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilter_error12.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilter_error13.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilter_error14.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilter_error15.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilter_error16.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilter_error17.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilter_error18.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilter_error19.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilter_error2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilter_error20.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilter_error3.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilter_error4.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilter_error5.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilter_error6.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilter_error7.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilter_error8.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagefilter_error9.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imageinterlace_basic.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imageinterlace_error1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imageinterlace_error2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imageinterlace_variation1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imageinterlace_variation2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagerectangle_basic.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagerectangle_error1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagerectangle_error2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagerectangle_error3.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagerectangle_error4.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagerectangle_error5.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagerectangle_error6.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagerectangle_error7.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagerectangle_error8.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/imagesetbrush_basic.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/jpeg2wbmp_error1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/jpeg2wbmp_error2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/jpeg2wbmp_error3.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/png2wbmp_error1.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/png2wbmp_error2.phpt0
-rw-r--r--[-rwxr-xr-x]ext/gd/tests/png2wbmp_error3.phpt0
87 files changed, 151 insertions, 3 deletions
diff --git a/ext/gd/gd.c b/ext/gd/gd.c
index ff14497f68..3039cdd492 100644
--- a/ext/gd/gd.c
+++ b/ext/gd/gd.c
@@ -1308,6 +1308,11 @@ PHP_MINFO_FUNCTION(gd)
#endif
#if defined(HAVE_GD_XPM) && defined(HAVE_GD_BUNDLED)
php_info_print_table_row(2, "XPM Support", "enabled");
+ {
+ char tmp[12];
+ snprintf(tmp, sizeof(tmp), "%d", XpmLibraryVersion());
+ php_info_print_table_row(2, "libXpm Version", tmp);
+ }
#endif
#ifdef HAVE_GD_XBM
php_info_print_table_row(2, "XBM Support", "enabled");
diff --git a/ext/gd/libgd/xbm.c b/ext/gd/libgd/xbm.c
index c83b0ad13e..f4165d52b7 100644
--- a/ext/gd/libgd/xbm.c
+++ b/ext/gd/libgd/xbm.c
@@ -2,7 +2,7 @@
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
- | Copyright (c) 1997-2010 The PHP Group |
+ | Copyright (c) 1997-2012 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
diff --git a/ext/gd/tests/bug43073.phpt b/ext/gd/tests/bug43073.phpt
index df4ffe37e8..4f448f2b4a 100644
--- a/ext/gd/tests/bug43073.phpt
+++ b/ext/gd/tests/bug43073.phpt
@@ -1,9 +1,12 @@
--TEST--
-Bug #43073 (TrueType bounding box is wrong for angle<>0)
+Bug #43073 (TrueType bounding box is wrong for angle<>0) freetype < 2.4.10
--SKIPIF--
<?php
if(!extension_loaded('gd')){ die('skip gd extension not available'); }
if(!function_exists('imagettftext')) die('skip imagettftext() not available');
+
+ include dirname(__FILE__) . '/func.inc';
+ if(version_compare(get_freetype_version(), '2.4.10') >= 0) die('skip for freetype < 2.4.10');
?>
--FILE--
<?php
diff --git a/ext/gd/tests/bug43073_1.phpt b/ext/gd/tests/bug43073_1.phpt
new file mode 100644
index 0000000000..b69067d31b
--- /dev/null
+++ b/ext/gd/tests/bug43073_1.phpt
@@ -0,0 +1,51 @@
+--TEST--
+Bug #43073 (TrueType bounding box is wrong for angle<>0) freetype >= 2.4.10
+--SKIPIF--
+<?php
+ if(!extension_loaded('gd')){ die('skip gd extension not available'); }
+ if(!function_exists('imagettftext')) die('skip imagettftext() not available');
+
+ include dirname(__FILE__) . '/func.inc';
+ if(version_compare(get_freetype_version(), '2.4.10') == -1) die('skip for freetype >= 2.4.10');
+?>
+--FILE--
+<?php
+$cwd = dirname(__FILE__);
+$font = "$cwd/Tuffy.ttf";
+$delta_t = 360.0 / 16; # Make 16 steps around
+$g = imagecreate(800, 800);
+$bgnd = imagecolorallocate($g, 255, 255, 255);
+$black = imagecolorallocate($g, 0, 0, 0);
+$x = 100;
+$y = 0;
+$cos_t = cos(deg2rad($delta_t));
+$sin_t = sin(deg2rad($delta_t));
+for ($angle = 0.0; $angle < 360.0; $angle += $delta_t) {
+ $bbox = imagettftext($g, 24, $angle, 400+$x, 400+$y, $black, $font, 'ABCDEF');
+ $s = vsprintf("(%d, %d), (%d, %d), (%d, %d), (%d, %d)\n", $bbox);
+ echo $s;
+ $temp = $cos_t * $x + $sin_t * $y;
+ $y = $cos_t * $y - $sin_t * $x;
+ $x = $temp;
+}
+imagepng($g, "$cwd/bug43073.png");
+?>
+--CLEAN--
+<?php @unlink(dirname(__FILE__) . '/bug43073.png'); ?>
+--EXPECTF--
+(500, 400), (610, 400), (610, 376), (500, 376)
+(492, 363), (591, 322), (580, 295), (480, 336)
+(470, 331), (548, 254), (527, 233), (449, 310)
+(439, 309), (483, 202), (461, 193), (416, 299)
+(400, 300), (400, 183), (380, 183), (380, 300)
+(362, 307), (316, 195), (291, 205), (337, 318)
+(330, 329), (246, 244), (224, 265), (308, 350)
+(308, 360), (202, 316), (190, 344), (296, 388)
+(300, 400), (187, 400), (187, 425), (300, 425)
+(306, 437), (195, 483), (206, 510), (318, 464)
+(328, 469), (240, 557), (260, 578), (349, 491)
+(359, 491), (312, 607), (334, 616), (382, 501)
+(400, 500), (400, 618), (419, 618), (419, 500)
+(436, 493), (483, 607), (507, 597), (461, 482)
+(468, 471), (555, 558), (577, 538), (490, 450)
+(490, 440), (600, 485), (611, 457), (502, 412)
diff --git a/ext/gd/tests/bug48801.phpt b/ext/gd/tests/bug48801.phpt
index a6a9874ab8..fd25541a52 100644
--- a/ext/gd/tests/bug48801.phpt
+++ b/ext/gd/tests/bug48801.phpt
@@ -1,9 +1,12 @@
--TEST--
-Bug #48801 (Problem with imagettfbbox)
+Bug #48801 (Problem with imagettfbbox) freetype < 2.4.10
--SKIPIF--
<?php
if(!extension_loaded('gd')){ die('skip gd extension not available'); }
if(!function_exists('imageftbbox')) die('skip imageftbbox() not available');
+
+ include dirname(__FILE__) . '/func.inc';
+ if(version_compare(get_freetype_version(), '2.4.10') >= 0) die('skip for freetype < 2.4.10');
?>
--FILE--
<?php
diff --git a/ext/gd/tests/bug48801_1.phpt b/ext/gd/tests/bug48801_1.phpt
new file mode 100644
index 0000000000..11af80cd4b
--- /dev/null
+++ b/ext/gd/tests/bug48801_1.phpt
@@ -0,0 +1,25 @@
+--TEST--
+Bug #48801 (Problem with imagettfbbox) freetype >= 2.4.10
+--SKIPIF--
+<?php
+ if(!extension_loaded('gd')){ die('skip gd extension not available'); }
+ if(!function_exists('imageftbbox')) die('skip imageftbbox() not available');
+
+ include dirname(__FILE__) . '/func.inc';
+ if(version_compare(get_freetype_version(), '2.4.10') == -1) die('skip for freetype >= 2.4.10');
+?>
+--FILE--
+<?php
+$cwd = dirname(__FILE__);
+$font = "$cwd/Tuffy.ttf";
+$bbox = imageftbbox(50, 0, $font, "image");
+echo '(' . $bbox[0] . ', ' . $bbox[1] . ")\n";
+echo '(' . $bbox[2] . ', ' . $bbox[3] . ")\n";
+echo '(' . $bbox[4] . ', ' . $bbox[5] . ")\n";
+echo '(' . $bbox[6] . ', ' . $bbox[7] . ")\n";
+?>
+--EXPECTF--
+(-1, 15)
+(156, 15)
+(156, -48)
+(-1, -48)
diff --git a/ext/gd/tests/func.inc b/ext/gd/tests/func.inc
new file mode 100644
index 0000000000..f17227eccd
--- /dev/null
+++ b/ext/gd/tests/func.inc
@@ -0,0 +1,61 @@
+<?php
+
+function get_gd_version()
+{
+ return GD_VERSION;
+}
+
+function get_php_info()
+{
+ ob_start();
+ phpinfo();
+ $info = ob_get_contents();
+ ob_end_clean();
+
+ return $info;
+}
+
+function get_freetype_version()
+{
+ $version = 0;
+
+ if (preg_match(',FreeType Version => (\d+\.\d+\.\d+),s', get_php_info(), $match)) {
+ $version = $match[1];
+ }
+
+ return $version;
+}
+
+function get_libjpeg_version()
+{
+ $version = 0;
+
+ if (preg_match(',libJPEG Version => ([a-z0-9]+),s', get_php_info(), $match)) {
+ $version = $match[1];
+ }
+
+ return $version;
+}
+
+function get_libpng_version()
+{
+ $version = 0;
+
+ if (preg_match(',libPNG Version => (\d+\.\d+\.\d+),s', get_php_info(), $match)) {
+ $version = $match[1];
+ }
+
+ return $version;
+}
+
+function get_libxpm_version()
+{
+ $version = 0;
+
+ if (preg_match(',libXpm Version => (\d+),s', get_php_info(), $match)) {
+ $version = $match[1];
+ }
+
+ return $version;
+}
+
diff --git a/ext/gd/tests/imageantialias_error1.phpt b/ext/gd/tests/imageantialias_error1.phpt
index e9475e9571..e9475e9571 100755..100644
--- a/ext/gd/tests/imageantialias_error1.phpt
+++ b/ext/gd/tests/imageantialias_error1.phpt
diff --git a/ext/gd/tests/imageantialias_error2.phpt b/ext/gd/tests/imageantialias_error2.phpt
index 64b0a60eba..64b0a60eba 100755..100644
--- a/ext/gd/tests/imageantialias_error2.phpt
+++ b/ext/gd/tests/imageantialias_error2.phpt
diff --git a/ext/gd/tests/imagearc_basic.phpt b/ext/gd/tests/imagearc_basic.phpt
index 4647dd1e3f..4647dd1e3f 100755..100644
--- a/ext/gd/tests/imagearc_basic.phpt
+++ b/ext/gd/tests/imagearc_basic.phpt
diff --git a/ext/gd/tests/imagearc_error1.phpt b/ext/gd/tests/imagearc_error1.phpt
index 423f0356af..423f0356af 100755..100644
--- a/ext/gd/tests/imagearc_error1.phpt
+++ b/ext/gd/tests/imagearc_error1.phpt
diff --git a/ext/gd/tests/imagearc_variation1.phpt b/ext/gd/tests/imagearc_variation1.phpt
index 568d3a6d47..568d3a6d47 100755..100644
--- a/ext/gd/tests/imagearc_variation1.phpt
+++ b/ext/gd/tests/imagearc_variation1.phpt
diff --git a/ext/gd/tests/imagearc_variation2.phpt b/ext/gd/tests/imagearc_variation2.phpt
index 045c68e61c..045c68e61c 100755..100644
--- a/ext/gd/tests/imagearc_variation2.phpt
+++ b/ext/gd/tests/imagearc_variation2.phpt
diff --git a/ext/gd/tests/imagecolormatch_basic.phpt b/ext/gd/tests/imagecolormatch_basic.phpt
index 1d188121b6..1d188121b6 100755..100644
--- a/ext/gd/tests/imagecolormatch_basic.phpt
+++ b/ext/gd/tests/imagecolormatch_basic.phpt
diff --git a/ext/gd/tests/imagecolormatch_error1.phpt b/ext/gd/tests/imagecolormatch_error1.phpt
index 9750a8b245..9750a8b245 100755..100644
--- a/ext/gd/tests/imagecolormatch_error1.phpt
+++ b/ext/gd/tests/imagecolormatch_error1.phpt
diff --git a/ext/gd/tests/imagecolormatch_error2.phpt b/ext/gd/tests/imagecolormatch_error2.phpt
index bdb3c2460e..bdb3c2460e 100755..100644
--- a/ext/gd/tests/imagecolormatch_error2.phpt
+++ b/ext/gd/tests/imagecolormatch_error2.phpt
diff --git a/ext/gd/tests/imagecolormatch_error3.phpt b/ext/gd/tests/imagecolormatch_error3.phpt
index 8793e15227..8793e15227 100755..100644
--- a/ext/gd/tests/imagecolormatch_error3.phpt
+++ b/ext/gd/tests/imagecolormatch_error3.phpt
diff --git a/ext/gd/tests/imagecolormatch_error4.phpt b/ext/gd/tests/imagecolormatch_error4.phpt
index 0bfe767c2b..0bfe767c2b 100755..100644
--- a/ext/gd/tests/imagecolormatch_error4.phpt
+++ b/ext/gd/tests/imagecolormatch_error4.phpt
diff --git a/ext/gd/tests/imagecolorset_basic.phpt b/ext/gd/tests/imagecolorset_basic.phpt
index a1776ff50f..a1776ff50f 100755..100644
--- a/ext/gd/tests/imagecolorset_basic.phpt
+++ b/ext/gd/tests/imagecolorset_basic.phpt
diff --git a/ext/gd/tests/imageconvolution_basic.phpt b/ext/gd/tests/imageconvolution_basic.phpt
index 5a9aa8f95b..5a9aa8f95b 100755..100644
--- a/ext/gd/tests/imageconvolution_basic.phpt
+++ b/ext/gd/tests/imageconvolution_basic.phpt
diff --git a/ext/gd/tests/imageconvolution_error1.phpt b/ext/gd/tests/imageconvolution_error1.phpt
index 5dc250a85b..5dc250a85b 100755..100644
--- a/ext/gd/tests/imageconvolution_error1.phpt
+++ b/ext/gd/tests/imageconvolution_error1.phpt
diff --git a/ext/gd/tests/imageconvolution_error2.phpt b/ext/gd/tests/imageconvolution_error2.phpt
index 5161c198c3..5161c198c3 100755..100644
--- a/ext/gd/tests/imageconvolution_error2.phpt
+++ b/ext/gd/tests/imageconvolution_error2.phpt
diff --git a/ext/gd/tests/imageconvolution_error3.phpt b/ext/gd/tests/imageconvolution_error3.phpt
index df6b148bd1..df6b148bd1 100755..100644
--- a/ext/gd/tests/imageconvolution_error3.phpt
+++ b/ext/gd/tests/imageconvolution_error3.phpt
diff --git a/ext/gd/tests/imagecopymerge_basic.phpt b/ext/gd/tests/imagecopymerge_basic.phpt
index 85f1162629..85f1162629 100755..100644
--- a/ext/gd/tests/imagecopymerge_basic.phpt
+++ b/ext/gd/tests/imagecopymerge_basic.phpt
diff --git a/ext/gd/tests/imagecopymerge_error.phpt b/ext/gd/tests/imagecopymerge_error.phpt
index e43bf69452..e43bf69452 100755..100644
--- a/ext/gd/tests/imagecopymerge_error.phpt
+++ b/ext/gd/tests/imagecopymerge_error.phpt
diff --git a/ext/gd/tests/imageellipse_basic.phpt b/ext/gd/tests/imageellipse_basic.phpt
index bfd0b79f58..bfd0b79f58 100755..100644
--- a/ext/gd/tests/imageellipse_basic.phpt
+++ b/ext/gd/tests/imageellipse_basic.phpt
diff --git a/ext/gd/tests/imageellipse_error1.phpt b/ext/gd/tests/imageellipse_error1.phpt
index aa8ad789d9..aa8ad789d9 100755..100644
--- a/ext/gd/tests/imageellipse_error1.phpt
+++ b/ext/gd/tests/imageellipse_error1.phpt
diff --git a/ext/gd/tests/imageellipse_error2.phpt b/ext/gd/tests/imageellipse_error2.phpt
index 5b65bf8a5c..5b65bf8a5c 100755..100644
--- a/ext/gd/tests/imageellipse_error2.phpt
+++ b/ext/gd/tests/imageellipse_error2.phpt
diff --git a/ext/gd/tests/imageellipse_error3.phpt b/ext/gd/tests/imageellipse_error3.phpt
index cbac2f0e79..cbac2f0e79 100755..100644
--- a/ext/gd/tests/imageellipse_error3.phpt
+++ b/ext/gd/tests/imageellipse_error3.phpt
diff --git a/ext/gd/tests/imageellipse_error4.phpt b/ext/gd/tests/imageellipse_error4.phpt
index dec2e0fbdc..dec2e0fbdc 100755..100644
--- a/ext/gd/tests/imageellipse_error4.phpt
+++ b/ext/gd/tests/imageellipse_error4.phpt
diff --git a/ext/gd/tests/imageellipse_error5.phpt b/ext/gd/tests/imageellipse_error5.phpt
index 4272470c6d..4272470c6d 100755..100644
--- a/ext/gd/tests/imageellipse_error5.phpt
+++ b/ext/gd/tests/imageellipse_error5.phpt
diff --git a/ext/gd/tests/imageellipse_error6.phpt b/ext/gd/tests/imageellipse_error6.phpt
index 8628525b6f..8628525b6f 100755..100644
--- a/ext/gd/tests/imageellipse_error6.phpt
+++ b/ext/gd/tests/imageellipse_error6.phpt
diff --git a/ext/gd/tests/imageellipse_error7.phpt b/ext/gd/tests/imageellipse_error7.phpt
index 23f1eeeab7..23f1eeeab7 100755..100644
--- a/ext/gd/tests/imageellipse_error7.phpt
+++ b/ext/gd/tests/imageellipse_error7.phpt
diff --git a/ext/gd/tests/imageellipse_error8.phpt b/ext/gd/tests/imageellipse_error8.phpt
index 3fefb56bde..3fefb56bde 100755..100644
--- a/ext/gd/tests/imageellipse_error8.phpt
+++ b/ext/gd/tests/imageellipse_error8.phpt
diff --git a/ext/gd/tests/imagefilledarc_basic.phpt b/ext/gd/tests/imagefilledarc_basic.phpt
index 9ff9bd3716..9ff9bd3716 100755..100644
--- a/ext/gd/tests/imagefilledarc_basic.phpt
+++ b/ext/gd/tests/imagefilledarc_basic.phpt
diff --git a/ext/gd/tests/imagefilledarc_error1.phpt b/ext/gd/tests/imagefilledarc_error1.phpt
index b2bc4172de..b2bc4172de 100755..100644
--- a/ext/gd/tests/imagefilledarc_error1.phpt
+++ b/ext/gd/tests/imagefilledarc_error1.phpt
diff --git a/ext/gd/tests/imagefilledarc_variation1.phpt b/ext/gd/tests/imagefilledarc_variation1.phpt
index 2dec1ead2c..2dec1ead2c 100755..100644
--- a/ext/gd/tests/imagefilledarc_variation1.phpt
+++ b/ext/gd/tests/imagefilledarc_variation1.phpt
diff --git a/ext/gd/tests/imagefilledarc_variation2.phpt b/ext/gd/tests/imagefilledarc_variation2.phpt
index 5c8ffba001..5c8ffba001 100755..100644
--- a/ext/gd/tests/imagefilledarc_variation2.phpt
+++ b/ext/gd/tests/imagefilledarc_variation2.phpt
diff --git a/ext/gd/tests/imagefilltoborder_basic.phpt b/ext/gd/tests/imagefilltoborder_basic.phpt
index 80b84d2c69..80b84d2c69 100755..100644
--- a/ext/gd/tests/imagefilltoborder_basic.phpt
+++ b/ext/gd/tests/imagefilltoborder_basic.phpt
diff --git a/ext/gd/tests/imagefilltoborder_error1.phpt b/ext/gd/tests/imagefilltoborder_error1.phpt
index 9412da7394..9412da7394 100755..100644
--- a/ext/gd/tests/imagefilltoborder_error1.phpt
+++ b/ext/gd/tests/imagefilltoborder_error1.phpt
diff --git a/ext/gd/tests/imagefilltoborder_error2.phpt b/ext/gd/tests/imagefilltoborder_error2.phpt
index dcbf904708..dcbf904708 100755..100644
--- a/ext/gd/tests/imagefilltoborder_error2.phpt
+++ b/ext/gd/tests/imagefilltoborder_error2.phpt
diff --git a/ext/gd/tests/imagefilltoborder_error3.phpt b/ext/gd/tests/imagefilltoborder_error3.phpt
index 73f6cf7b89..73f6cf7b89 100755..100644
--- a/ext/gd/tests/imagefilltoborder_error3.phpt
+++ b/ext/gd/tests/imagefilltoborder_error3.phpt
diff --git a/ext/gd/tests/imagefilltoborder_error4.phpt b/ext/gd/tests/imagefilltoborder_error4.phpt
index a5073d80bd..a5073d80bd 100755..100644
--- a/ext/gd/tests/imagefilltoborder_error4.phpt
+++ b/ext/gd/tests/imagefilltoborder_error4.phpt
diff --git a/ext/gd/tests/imagefilltoborder_error5.phpt b/ext/gd/tests/imagefilltoborder_error5.phpt
index eff344a787..eff344a787 100755..100644
--- a/ext/gd/tests/imagefilltoborder_error5.phpt
+++ b/ext/gd/tests/imagefilltoborder_error5.phpt
diff --git a/ext/gd/tests/imagefilltoborder_error6.phpt b/ext/gd/tests/imagefilltoborder_error6.phpt
index b5ce53b0d6..b5ce53b0d6 100755..100644
--- a/ext/gd/tests/imagefilltoborder_error6.phpt
+++ b/ext/gd/tests/imagefilltoborder_error6.phpt
diff --git a/ext/gd/tests/imagefilltoborder_error7.phpt b/ext/gd/tests/imagefilltoborder_error7.phpt
index aeb7d82620..aeb7d82620 100755..100644
--- a/ext/gd/tests/imagefilltoborder_error7.phpt
+++ b/ext/gd/tests/imagefilltoborder_error7.phpt
diff --git a/ext/gd/tests/imagefilter_error1.phpt b/ext/gd/tests/imagefilter_error1.phpt
index fb96ae32b4..fb96ae32b4 100755..100644
--- a/ext/gd/tests/imagefilter_error1.phpt
+++ b/ext/gd/tests/imagefilter_error1.phpt
diff --git a/ext/gd/tests/imagefilter_error10.phpt b/ext/gd/tests/imagefilter_error10.phpt
index 8b41211629..8b41211629 100755..100644
--- a/ext/gd/tests/imagefilter_error10.phpt
+++ b/ext/gd/tests/imagefilter_error10.phpt
diff --git a/ext/gd/tests/imagefilter_error11.phpt b/ext/gd/tests/imagefilter_error11.phpt
index 9b1cf4d92b..9b1cf4d92b 100755..100644
--- a/ext/gd/tests/imagefilter_error11.phpt
+++ b/ext/gd/tests/imagefilter_error11.phpt
diff --git a/ext/gd/tests/imagefilter_error12.phpt b/ext/gd/tests/imagefilter_error12.phpt
index 33fee28e63..33fee28e63 100755..100644
--- a/ext/gd/tests/imagefilter_error12.phpt
+++ b/ext/gd/tests/imagefilter_error12.phpt
diff --git a/ext/gd/tests/imagefilter_error13.phpt b/ext/gd/tests/imagefilter_error13.phpt
index 687d148be5..687d148be5 100755..100644
--- a/ext/gd/tests/imagefilter_error13.phpt
+++ b/ext/gd/tests/imagefilter_error13.phpt
diff --git a/ext/gd/tests/imagefilter_error14.phpt b/ext/gd/tests/imagefilter_error14.phpt
index 64103954db..64103954db 100755..100644
--- a/ext/gd/tests/imagefilter_error14.phpt
+++ b/ext/gd/tests/imagefilter_error14.phpt
diff --git a/ext/gd/tests/imagefilter_error15.phpt b/ext/gd/tests/imagefilter_error15.phpt
index 87a412e4cd..87a412e4cd 100755..100644
--- a/ext/gd/tests/imagefilter_error15.phpt
+++ b/ext/gd/tests/imagefilter_error15.phpt
diff --git a/ext/gd/tests/imagefilter_error16.phpt b/ext/gd/tests/imagefilter_error16.phpt
index 2a84c2f789..2a84c2f789 100755..100644
--- a/ext/gd/tests/imagefilter_error16.phpt
+++ b/ext/gd/tests/imagefilter_error16.phpt
diff --git a/ext/gd/tests/imagefilter_error17.phpt b/ext/gd/tests/imagefilter_error17.phpt
index adafc3e5e8..adafc3e5e8 100755..100644
--- a/ext/gd/tests/imagefilter_error17.phpt
+++ b/ext/gd/tests/imagefilter_error17.phpt
diff --git a/ext/gd/tests/imagefilter_error18.phpt b/ext/gd/tests/imagefilter_error18.phpt
index b636bfc07a..b636bfc07a 100755..100644
--- a/ext/gd/tests/imagefilter_error18.phpt
+++ b/ext/gd/tests/imagefilter_error18.phpt
diff --git a/ext/gd/tests/imagefilter_error19.phpt b/ext/gd/tests/imagefilter_error19.phpt
index e36b817aa2..e36b817aa2 100755..100644
--- a/ext/gd/tests/imagefilter_error19.phpt
+++ b/ext/gd/tests/imagefilter_error19.phpt
diff --git a/ext/gd/tests/imagefilter_error2.phpt b/ext/gd/tests/imagefilter_error2.phpt
index 62ac6620c6..62ac6620c6 100755..100644
--- a/ext/gd/tests/imagefilter_error2.phpt
+++ b/ext/gd/tests/imagefilter_error2.phpt
diff --git a/ext/gd/tests/imagefilter_error20.phpt b/ext/gd/tests/imagefilter_error20.phpt
index f3db724acb..f3db724acb 100755..100644
--- a/ext/gd/tests/imagefilter_error20.phpt
+++ b/ext/gd/tests/imagefilter_error20.phpt
diff --git a/ext/gd/tests/imagefilter_error3.phpt b/ext/gd/tests/imagefilter_error3.phpt
index 67f6c199f3..67f6c199f3 100755..100644
--- a/ext/gd/tests/imagefilter_error3.phpt
+++ b/ext/gd/tests/imagefilter_error3.phpt
diff --git a/ext/gd/tests/imagefilter_error4.phpt b/ext/gd/tests/imagefilter_error4.phpt
index babb37e0ac..babb37e0ac 100755..100644
--- a/ext/gd/tests/imagefilter_error4.phpt
+++ b/ext/gd/tests/imagefilter_error4.phpt
diff --git a/ext/gd/tests/imagefilter_error5.phpt b/ext/gd/tests/imagefilter_error5.phpt
index a7d9443427..a7d9443427 100755..100644
--- a/ext/gd/tests/imagefilter_error5.phpt
+++ b/ext/gd/tests/imagefilter_error5.phpt
diff --git a/ext/gd/tests/imagefilter_error6.phpt b/ext/gd/tests/imagefilter_error6.phpt
index 05dd187a2d..05dd187a2d 100755..100644
--- a/ext/gd/tests/imagefilter_error6.phpt
+++ b/ext/gd/tests/imagefilter_error6.phpt
diff --git a/ext/gd/tests/imagefilter_error7.phpt b/ext/gd/tests/imagefilter_error7.phpt
index 6c08e5acf3..6c08e5acf3 100755..100644
--- a/ext/gd/tests/imagefilter_error7.phpt
+++ b/ext/gd/tests/imagefilter_error7.phpt
diff --git a/ext/gd/tests/imagefilter_error8.phpt b/ext/gd/tests/imagefilter_error8.phpt
index 57c3168f7e..57c3168f7e 100755..100644
--- a/ext/gd/tests/imagefilter_error8.phpt
+++ b/ext/gd/tests/imagefilter_error8.phpt
diff --git a/ext/gd/tests/imagefilter_error9.phpt b/ext/gd/tests/imagefilter_error9.phpt
index a74ea643cf..a74ea643cf 100755..100644
--- a/ext/gd/tests/imagefilter_error9.phpt
+++ b/ext/gd/tests/imagefilter_error9.phpt
diff --git a/ext/gd/tests/imageinterlace_basic.phpt b/ext/gd/tests/imageinterlace_basic.phpt
index 657b256d67..657b256d67 100755..100644
--- a/ext/gd/tests/imageinterlace_basic.phpt
+++ b/ext/gd/tests/imageinterlace_basic.phpt
diff --git a/ext/gd/tests/imageinterlace_error1.phpt b/ext/gd/tests/imageinterlace_error1.phpt
index 5c871e7bba..5c871e7bba 100755..100644
--- a/ext/gd/tests/imageinterlace_error1.phpt
+++ b/ext/gd/tests/imageinterlace_error1.phpt
diff --git a/ext/gd/tests/imageinterlace_error2.phpt b/ext/gd/tests/imageinterlace_error2.phpt
index 808c88a312..808c88a312 100755..100644
--- a/ext/gd/tests/imageinterlace_error2.phpt
+++ b/ext/gd/tests/imageinterlace_error2.phpt
diff --git a/ext/gd/tests/imageinterlace_variation1.phpt b/ext/gd/tests/imageinterlace_variation1.phpt
index 2c224ef41f..2c224ef41f 100755..100644
--- a/ext/gd/tests/imageinterlace_variation1.phpt
+++ b/ext/gd/tests/imageinterlace_variation1.phpt
diff --git a/ext/gd/tests/imageinterlace_variation2.phpt b/ext/gd/tests/imageinterlace_variation2.phpt
index b4735dcfb9..b4735dcfb9 100755..100644
--- a/ext/gd/tests/imageinterlace_variation2.phpt
+++ b/ext/gd/tests/imageinterlace_variation2.phpt
diff --git a/ext/gd/tests/imagerectangle_basic.phpt b/ext/gd/tests/imagerectangle_basic.phpt
index f706ee7ab6..f706ee7ab6 100755..100644
--- a/ext/gd/tests/imagerectangle_basic.phpt
+++ b/ext/gd/tests/imagerectangle_basic.phpt
diff --git a/ext/gd/tests/imagerectangle_error1.phpt b/ext/gd/tests/imagerectangle_error1.phpt
index 2b4235e854..2b4235e854 100755..100644
--- a/ext/gd/tests/imagerectangle_error1.phpt
+++ b/ext/gd/tests/imagerectangle_error1.phpt
diff --git a/ext/gd/tests/imagerectangle_error2.phpt b/ext/gd/tests/imagerectangle_error2.phpt
index 5fc1914ad0..5fc1914ad0 100755..100644
--- a/ext/gd/tests/imagerectangle_error2.phpt
+++ b/ext/gd/tests/imagerectangle_error2.phpt
diff --git a/ext/gd/tests/imagerectangle_error3.phpt b/ext/gd/tests/imagerectangle_error3.phpt
index d5dd4c1d80..d5dd4c1d80 100755..100644
--- a/ext/gd/tests/imagerectangle_error3.phpt
+++ b/ext/gd/tests/imagerectangle_error3.phpt
diff --git a/ext/gd/tests/imagerectangle_error4.phpt b/ext/gd/tests/imagerectangle_error4.phpt
index 7ecc4167a8..7ecc4167a8 100755..100644
--- a/ext/gd/tests/imagerectangle_error4.phpt
+++ b/ext/gd/tests/imagerectangle_error4.phpt
diff --git a/ext/gd/tests/imagerectangle_error5.phpt b/ext/gd/tests/imagerectangle_error5.phpt
index b4288d270c..b4288d270c 100755..100644
--- a/ext/gd/tests/imagerectangle_error5.phpt
+++ b/ext/gd/tests/imagerectangle_error5.phpt
diff --git a/ext/gd/tests/imagerectangle_error6.phpt b/ext/gd/tests/imagerectangle_error6.phpt
index aab378e557..aab378e557 100755..100644
--- a/ext/gd/tests/imagerectangle_error6.phpt
+++ b/ext/gd/tests/imagerectangle_error6.phpt
diff --git a/ext/gd/tests/imagerectangle_error7.phpt b/ext/gd/tests/imagerectangle_error7.phpt
index f6ed778db7..f6ed778db7 100755..100644
--- a/ext/gd/tests/imagerectangle_error7.phpt
+++ b/ext/gd/tests/imagerectangle_error7.phpt
diff --git a/ext/gd/tests/imagerectangle_error8.phpt b/ext/gd/tests/imagerectangle_error8.phpt
index 361de69cde..361de69cde 100755..100644
--- a/ext/gd/tests/imagerectangle_error8.phpt
+++ b/ext/gd/tests/imagerectangle_error8.phpt
diff --git a/ext/gd/tests/imagesetbrush_basic.phpt b/ext/gd/tests/imagesetbrush_basic.phpt
index 790184ddc2..790184ddc2 100755..100644
--- a/ext/gd/tests/imagesetbrush_basic.phpt
+++ b/ext/gd/tests/imagesetbrush_basic.phpt
diff --git a/ext/gd/tests/jpeg2wbmp_error1.phpt b/ext/gd/tests/jpeg2wbmp_error1.phpt
index d0496cc82b..d0496cc82b 100755..100644
--- a/ext/gd/tests/jpeg2wbmp_error1.phpt
+++ b/ext/gd/tests/jpeg2wbmp_error1.phpt
diff --git a/ext/gd/tests/jpeg2wbmp_error2.phpt b/ext/gd/tests/jpeg2wbmp_error2.phpt
index 692dcb842d..692dcb842d 100755..100644
--- a/ext/gd/tests/jpeg2wbmp_error2.phpt
+++ b/ext/gd/tests/jpeg2wbmp_error2.phpt
diff --git a/ext/gd/tests/jpeg2wbmp_error3.phpt b/ext/gd/tests/jpeg2wbmp_error3.phpt
index df436c8cc3..df436c8cc3 100755..100644
--- a/ext/gd/tests/jpeg2wbmp_error3.phpt
+++ b/ext/gd/tests/jpeg2wbmp_error3.phpt
diff --git a/ext/gd/tests/png2wbmp_error1.phpt b/ext/gd/tests/png2wbmp_error1.phpt
index 1e9d717d94..1e9d717d94 100755..100644
--- a/ext/gd/tests/png2wbmp_error1.phpt
+++ b/ext/gd/tests/png2wbmp_error1.phpt
diff --git a/ext/gd/tests/png2wbmp_error2.phpt b/ext/gd/tests/png2wbmp_error2.phpt
index ba8e43e7f0..ba8e43e7f0 100755..100644
--- a/ext/gd/tests/png2wbmp_error2.phpt
+++ b/ext/gd/tests/png2wbmp_error2.phpt
diff --git a/ext/gd/tests/png2wbmp_error3.phpt b/ext/gd/tests/png2wbmp_error3.phpt
index 1e33f59b18..1e33f59b18 100755..100644
--- a/ext/gd/tests/png2wbmp_error3.phpt
+++ b/ext/gd/tests/png2wbmp_error3.phpt