...
diff --git a/MagickCore/draw.c b/MagickCore/draw.c
index ec347a6..0063fde 100644
--- a/MagickCore/draw.c
+++ b/MagickCore/draw.c
@@ -1674,7 +1674,8 @@
{
double
delta,
- step;
+ step,
+ y;
PointInfo
angle;
@@ -1686,8 +1687,11 @@
step=MagickPI/8.0;
if ((delta >= 0.0) && (delta < (MagickPI/8.0)))
step=MagickPI/(4.0*(MagickPI*PerceptibleReciprocal(delta)/2.0));
- angle.x=DegreesToRadians(fmod(degrees.x,360.0));
- angle.y=DegreesToRadians(fmod(degrees.y,360.0));
+ angle.x=DegreesToRadians(degrees.x);
+ y=degrees.y;
+ while (y < degrees.x)
+ y+=360.0;
+ angle.y=DegreesToRadians(y);
return((size_t) floor((angle.y-angle.x)/step+0.5)+3);
}
@@ -5667,7 +5671,8 @@
{
double
delta,
- step;
+ step,
+ y;
PointInfo
angle,
@@ -5686,8 +5691,11 @@
step=MagickPI/8.0;
if ((delta >= 0.0) && (delta < (MagickPI/8.0)))
step=MagickPI/(4.0*(MagickPI*PerceptibleReciprocal(delta)/2.0));
- angle.x=DegreesToRadians(fmod(degrees.x,360.0));
- angle.y=DegreesToRadians(fmod(degrees.y,360.0));
+ angle.x=DegreesToRadians(degrees.x);
+ y=degrees.y;
+ while (y < degrees.x)
+ y+=360.0;
+ angle.y=DegreesToRadians(y);
for (p=primitive_info; angle.x < angle.y; angle.x+=step)
{
point.x=cos(fmod(angle.x,DegreesToRadians(360.0)))*stop.x+start.x;