SEG * seg_in(char *str) { SEG *result = palloc(sizeof(SEG)); seg_scanner_init(str); if (seg_yyparse(result) != 0) seg_yyerror("bogus input"); seg_scanner_finish(); return (result); }
Datum seg_in(PG_FUNCTION_ARGS) { char *str = PG_GETARG_CSTRING(0); SEG *result = palloc(sizeof(SEG)); seg_scanner_init(str); if (seg_yyparse(result) != 0) seg_yyerror(result, "bogus input"); seg_scanner_finish(); PG_RETURN_POINTER(result); }