From 74294c7301340eeb477343dd26d98d2f3e33bd20 Mon Sep 17 00:00:00 2001 From: Tomas Vondra Date: Sun, 29 Jul 2018 20:35:18 +0200 Subject: [PATCH] Restore handling of -0 in the C field of lines in line_construct(). Commit a7dc63d904 inadvertedly removed this bit originally introduced by 43fe90f66a, causing regression test failures on some platforms, due to producing {1,-1,-0} instead of {1,-1,0}. --- src/backend/utils/adt/geo_ops.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/backend/utils/adt/geo_ops.c b/src/backend/utils/adt/geo_ops.c index 1fb2ff2603..621b5c33ef 100644 --- a/src/backend/utils/adt/geo_ops.c +++ b/src/backend/utils/adt/geo_ops.c @@ -1024,6 +1024,9 @@ line_construct(LINE *result, Point *pt, float8 m) result->A = m; result->B = -1.0; result->C = pt->y - m * pt->x; + /* on some platforms, the preceding expression tends to produce -0 */ + if (result->C == 0.0) + result->C = 0.0; } } -- 2.40.0