diff options
author | Tom Lane | 2003-09-14 02:18:49 +0000 |
---|---|---|
committer | Tom Lane | 2003-09-14 02:18:49 +0000 |
commit | 043be9ad9647a0e407f22b7718d632c113953dc8 (patch) | |
tree | 8f5e19e5759bae9d19d05b67fa1295237d25027b /contrib/seg/seg.c | |
parent | 03e47392e0c383ea75a1aac9294c4e0f4eb4d20f (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.c | 18 |
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) { |