postgres.git / summary / log / commit / refs
commit bb50fb517f9f2a09891425173aeb150c07126778
Author: Bruce Momjian <bruce@momjian.us>
Date: Tue Dec 21 17:01:44 1999 +0000
First released in: 7.0
This patch will avoid SIGFPE on some geo functions , if PostgreSQL is compiled
with DEC C.
DEC C doesn't handle double values greater than DBL_MAX, but some
PostgreSQL geo functions assign greater than DBL_MAX values to some vars
in some special cases - that couses SIGFPE. I dunno if that is the only place
to fix to work well with DEC C.
Kirill Nosov.
src/backend/utils/adt/geo_ops.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/backend/utils/adt/geo_ops.c b/src/backend/utils/adt/geo_ops.c
index 7bb2aba7adc..b56b7f5d8da 100644
--- a/src/backend/utils/adt/geo_ops.c
+++ b/src/backend/utils/adt/geo_ops.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/utils/adt/geo_ops.c,v 1.45 1999/07/17 20:17:56 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/adt/geo_ops.c,v 1.46 1999/12/21 17:01:44 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -876,7 +876,10 @@ line_construct_pm(Point *pt, double m)
/* use "mx - y + yinter = 0" */
result->A = m;
result->B = -1.0;
- result->C = pt->y - m * pt->x;
+ if (m==DBL_MAX)
+ result->C = pt->y;
+ else
+ result->C = pt->y - m * pt->x;
#ifdef NOT_USED
result->m = m;
[parent: 04c78e2eb45e]