mirror of
https://github.com/postgres/postgres.git
synced 2025-07-30 11:03:19 +03:00
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.
This commit is contained in:
@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* 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" */
|
/* use "mx - y + yinter = 0" */
|
||||||
result->A = m;
|
result->A = m;
|
||||||
result->B = -1.0;
|
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
|
#ifdef NOT_USED
|
||||||
result->m = m;
|
result->m = m;
|
||||||
|
Reference in New Issue
Block a user