summaryrefslogtreecommitdiff
path: root/contrib/seg/seg.c
diff options
context:
space:
mode:
authorTom Lane2003-09-14 02:18:49 +0000
committerTom Lane2003-09-14 02:18:49 +0000
commit043be9ad9647a0e407f22b7718d632c113953dc8 (patch)
tree8f5e19e5759bae9d19d05b67fa1295237d25027b /contrib/seg/seg.c
parent03e47392e0c383ea75a1aac9294c4e0f4eb4d20f (diff)
Make contrib/seg work with flex 2.5.31. Fix it up to have a real
btree operator class, too, since in PG 7.4 you can't GROUP without one.
Diffstat (limited to 'contrib/seg/seg.c')
-rw-r--r--contrib/seg/seg.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/contrib/seg/seg.c b/contrib/seg/seg.c
index 443fe3f5a26..c26f9d27cd7 100644
--- a/contrib/seg/seg.c
+++ b/contrib/seg/seg.c
@@ -23,8 +23,10 @@
#define GIST_QUERY_DEBUG
*/
-extern void set_parse_buffer(char *str);
extern int seg_yyparse();
+extern void seg_yyerror(const char *message);
+extern void seg_scanner_init(const char *str);
+extern void seg_scanner_finish(void);
/*
extern int seg_yydebug;
@@ -99,16 +101,13 @@ seg_in(char *str)
{
SEG *result = palloc(sizeof(SEG));
- set_parse_buffer(str);
+ seg_scanner_init(str);
- /*
- * seg_yydebug = 1;
- */
if (seg_yyparse(result) != 0)
- {
- pfree(result);
- return NULL;
- }
+ seg_yyerror("bogus input");
+
+ seg_scanner_finish();
+
return (result);
}
@@ -880,7 +879,6 @@ seg_gt(SEG * a, SEG * b)
return seg_cmp(a, b) > 0;
}
-
bool
seg_ge(SEG * a, SEG * b)
{