aports/testing/dia/isfinite.patch
2012-02-28 13:40:08 +00:00

143 lines
3.8 KiB
Diff

diff --git a/lib/arrows.c b/lib/arrows.c
index 4371946..5b6cd3a 100644
--- a/lib/arrows.c
+++ b/lib/arrows.c
@@ -18,7 +18,7 @@
#include <config.h>
-#define _BSD_SOURCE 1 /* to get finite */
+#define _GNU_SOURCE 1 /* to get isfinite */
#include <math.h>
#include <stdio.h>
#include <string.h>
@@ -29,11 +29,7 @@
#ifdef G_OS_WIN32
#include <float.h>
-#define finite(d) _finite(d)
-#endif
-
-#ifdef __EMX__
-#define finite(d) isfinite(d)
+#define isfinite(d) _finite(d)
#endif
#include "arrows.h"
@@ -421,7 +417,7 @@ draw_one_exactly(DiaRenderer *renderer, Point *to, Point *from,
else {
vl.x = 1.0; vl.y = 0.0;
}
- if (!finite(vl.x)) {
+ if (!isfinite(vl.x)) {
vl.x = 1.0; vl.y = 0.0;
}
point_get_perp(&vt,&vl);
@@ -498,7 +494,7 @@ draw_one_or_none(DiaRenderer *renderer, Point *to, Point *from,
else {
vl.x = 1.0; vl.y = 0.0;
}
- if (!finite(vl.x)) {
+ if (!isfinite(vl.x)) {
vl.x = 1.0; vl.y = 0.0;
}
point_get_perp(&vt,&vl);
@@ -610,7 +606,7 @@ draw_fill_ellipse(DiaRenderer *renderer, Point *to, Point *from,
else {
vl.x = 1.0; vl.y = 0.0;
}
- if (!finite(vl.x)) {
+ if (!isfinite(vl.x)) {
vl.x = 1.0; vl.y = 0.0;
}
point_get_perp(&vt,&vl);
@@ -672,7 +668,7 @@ draw_empty_ellipse(DiaRenderer *renderer, Point *to, Point *from,
else {
vl.x = 1.0; vl.y = 0.0;
}
- if (!finite(vl.x)) {
+ if (!isfinite(vl.x)) {
vl.x = 1.0; vl.y = 0.0;
}
@@ -718,7 +714,7 @@ calculate_box (Point *poly, const Point *to, const Point *from,
else {
vl.x = 1.0; vl.y = 0.0;
}
- if (!finite(vl.x)) {
+ if (!isfinite(vl.x)) {
vl.x = 1.0; vl.y = 0.0;
}
point_get_perp(&vt,&vl);
@@ -832,7 +828,7 @@ draw_fill_dot(DiaRenderer *renderer, Point *to, Point *from,
else {
vl.x = 1.0; vl.y = 0.0;
}
- if (!finite(vl.x)) {
+ if (!isfinite(vl.x)) {
vl.x = 1.0; vl.y = 0.0;
}
point_get_perp(&vt,&vl);
@@ -908,7 +904,7 @@ draw_integral(DiaRenderer *renderer, Point *to, Point *from,
else {
vl.x = 1.0; vl.y = 0.0;
}
- if (!finite(vl.x)) {
+ if (!isfinite(vl.x)) {
vl.x = 1.0; vl.y = 0.0;
}
point_get_perp(&vt,&vl);
@@ -946,7 +942,7 @@ calculate_slashed (Point *poly, const Point *to, const Point *from,
else {
vl.x = 1.0; vl.y = 0.0;
}
- if (!finite(vl.x)) {
+ if (!isfinite(vl.x)) {
vl.x = 1.0; vl.y = 0.0;
}
point_get_perp(&vt,&vl);
diff --git a/lib/boundingbox.c b/lib/boundingbox.c
index 6d2749f..6938537 100644
--- a/lib/boundingbox.c
+++ b/lib/boundingbox.c
@@ -21,7 +21,7 @@
#include <config.h>
-#define _BSD_SOURCE 1
+#define _GNU_SOURCE 1 /* to get isfinite */
#include <math.h>
#include <string.h> /* memcmp() */
@@ -510,7 +510,7 @@ polybezier_bbox(const BezPoint *pts, int numpoints,
real overshoot;
Point vovs,pto;
- if (finite(alpha))
+ if (isfinite(alpha))
overshoot = extra->middle_trans / sin(alpha/2.0);
else /* prependicular? */
overshoot = extra->middle_trans;
diff --git a/objects/standard/arc.c b/objects/standard/arc.c
index 28302a6..80674a3 100644
--- a/objects/standard/arc.c
+++ b/objects/standard/arc.c
@@ -21,7 +21,7 @@
#endif
#include <assert.h>
-#define _BSD_SOURCE 1 /* to get finite */
+#define _GNU_SOURCE 1 /* to get finite */
#include <math.h>
#include "intl.h"
@@ -407,7 +407,7 @@ arc_compute_midpoint(Arc *arc, const Point * ep0, const Point * ep1 , Point * mi
angle -= -atan2(oep0->y - arc->center.y, oep0->x - arc->center.x); /* minus angle of old */
angle += -atan2(ep1->y - arc->center.y, ep1->x - arc->center.x); /* plus angle of new */
angle -= -atan2(oep1->y - arc->center.y, oep1->x - arc->center.x); /* minus angle of old */
- if (!finite(angle)){
+ if (!isfinite(angle)){
return 0;
}
if (angle < -1 * M_PI){