From 7c81d7953c27da65efc600657be647f7ed1398cf Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 19 Apr 2008 22:55:03 +0000 Subject: [PATCH] seg_size() has to be V1 calling convention, too. --- contrib/seg/seg.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/contrib/seg/seg.c b/contrib/seg/seg.c index 5d224b951d..cb0ce4f5ca 100644 --- a/contrib/seg/seg.c +++ b/contrib/seg/seg.c @@ -35,12 +35,14 @@ extern int seg_yydebug; */ PG_FUNCTION_INFO_V1(seg_in); PG_FUNCTION_INFO_V1(seg_out); +PG_FUNCTION_INFO_V1(seg_size); PG_FUNCTION_INFO_V1(seg_lower); PG_FUNCTION_INFO_V1(seg_upper); PG_FUNCTION_INFO_V1(seg_center); Datum seg_in(PG_FUNCTION_ARGS); Datum seg_out(PG_FUNCTION_ARGS); +Datum seg_size(PG_FUNCTION_ARGS); Datum seg_lower(PG_FUNCTION_ARGS); Datum seg_upper(PG_FUNCTION_ARGS); Datum seg_center(PG_FUNCTION_ARGS); @@ -81,7 +83,6 @@ bool seg_over_right(SEG * a, SEG * b); SEG *seg_union(SEG * a, SEG * b); SEG *seg_inter(SEG * a, SEG * b); void rt_seg_size(SEG * a, float *sz); -float *seg_size(SEG * a); /* ** Various operators @@ -717,16 +718,12 @@ rt_seg_size(SEG * a, float *size) return; } -float * -seg_size(SEG * a) +Datum +seg_size(PG_FUNCTION_ARGS) { - float *result; - - result = (float *) palloc(sizeof(float)); - - *result = (float) Abs(a->upper - a->lower); + SEG *seg = (SEG *) PG_GETARG_POINTER(0); - return (result); + PG_RETURN_FLOAT4((float) Abs(seg->upper - seg->lower)); } -- 2.40.0