summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph M. Becker <cmb@php.net>2015-07-12 16:26:16 +0200
committerChristoph M. Becker <cmb@php.net>2015-07-12 16:32:38 +0200
commitba7c3a1bb40c4c087436a230dd7372ff9b6413d8 (patch)
tree6c825f9a942e16cc78377955e55c8889328fd913
parenta8dbe655e55bad9564687edda274b7d3cb9b9674 (diff)
downloadphp-git-ba7c3a1bb40c4c087436a230dd7372ff9b6413d8.tar.gz
Fix #68714: copy 'n paste error
Actually, this is not really a bug fix, but rather a simplification and optimization in the same vein as has been done with the external libgd, but going a small step further and joining both for loops.
-rw-r--r--ext/gd/libgd/gd_arc.c8
-rw-r--r--ext/gd/tests/imagefilledellipse_basic.phpt25
2 files changed, 26 insertions, 7 deletions
diff --git a/ext/gd/libgd/gd_arc.c b/ext/gd/libgd/gd_arc.c
index 545dcb3fc5..1c74871388 100644
--- a/ext/gd/libgd/gd_arc.c
+++ b/ext/gd/libgd/gd_arc.c
@@ -58,7 +58,7 @@ void gdImageFilledEllipse (gdImagePtr im, int mx, int my, int w, int h, int c)
int x=0,mx1=0,mx2=0,my1=0,my2=0;
long aq,bq,dx,dy,r,rx,ry,a,b;
int i;
- int old_y1,old_y2;
+ int old_y2;
a=w>>1;
b=h>>1;
@@ -79,7 +79,6 @@ void gdImageFilledEllipse (gdImagePtr im, int mx, int my, int w, int h, int c)
ry = 0;
x = a;
old_y2=-2;
- old_y1=-2;
while (x > 0){
if (r > 0) {
my1++;my2--;
@@ -95,15 +94,10 @@ void gdImageFilledEllipse (gdImagePtr im, int mx, int my, int w, int h, int c)
if(old_y2!=my2){
for(i=mx1;i<=mx2;i++){
gdImageSetPixel(im,i,my1,c);
- }
- }
- if(old_y2!=my2){
- for(i=mx1;i<=mx2;i++){
gdImageSetPixel(im,i,my2,c);
}
}
old_y2 = my2;
- old_y1 = my1;
}
}
diff --git a/ext/gd/tests/imagefilledellipse_basic.phpt b/ext/gd/tests/imagefilledellipse_basic.phpt
new file mode 100644
index 0000000000..a1a578ad43
--- /dev/null
+++ b/ext/gd/tests/imagefilledellipse_basic.phpt
@@ -0,0 +1,25 @@
+--TEST--
+Testing imagefilledellipse() of GD library
+--SKIPIF--
+<?php
+if (!extension_loaded("gd")) die("skip GD not present");
+?>
+--FILE--
+<?php
+
+$image = imagecreatetruecolor(100, 100);
+
+$white = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
+
+//create an ellipse and fill it with white color
+imagefilledellipse($image, 50, 50, 40, 30, $white);
+
+ob_start();
+imagepng($image);
+$img = ob_get_contents();
+ob_end_clean();
+
+echo md5(base64_encode($img));
+?>
+--EXPECT--
+9ba540bba1b78c9f08efaa6fa0afd93b