Commit 8f678600 authored by Teodor Sigaev's avatar Teodor Sigaev

Avoid confusion start_parse_str function with tsearch V1

parent 59b1a230
#ifndef __PARSER_H__ #ifndef __PARSER_H__
#define __PARSER_H__ #define __PARSER_H__
char *token; extern char *token;
int tokenlen; extern int tokenlen;
int tsearch2_yylex(void); int tsearch2_yylex(void);
void start_parse_str(char *, int); void tsearch2_start_parse_str(char *, int);
void end_parse(void); void tsearch2_end_parse(void);
#endif #endif
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
#define fprintf(file, fmt, msg) ts_error(ERROR, fmt, msg) #define fprintf(file, fmt, msg) ts_error(ERROR, fmt, msg)
char *token = NULL; /* pointer to token */ char *token = NULL; /* pointer to token */
int tokenlen;
char *s = NULL; /* to return WHOLE hyphenated-word */ char *s = NULL; /* to return WHOLE hyphenated-word */
YY_BUFFER_STATE buf = NULL; /* buffer to parse; it need for parse from string */ YY_BUFFER_STATE buf = NULL; /* buffer to parse; it need for parse from string */
...@@ -280,14 +281,14 @@ ftp"://" { ...@@ -280,14 +281,14 @@ ftp"://" {
%% %%
/* clearing after parsing from string */ /* clearing after parsing from string */
void end_parse() { void tsearch2_end_parse() {
if (s) { free(s); s=NULL; } if (s) { free(s); s=NULL; }
tsearch2_yy_delete_buffer( buf ); tsearch2_yy_delete_buffer( buf );
buf = NULL; buf = NULL;
} }
/* start parse from string */ /* start parse from string */
void start_parse_str(char* str, int limit) { void tsearch2_start_parse_str(char* str, int limit) {
if (buf) end_parse(); if (buf) end_parse();
buf = tsearch2_yy_scan_bytes( str, limit ); buf = tsearch2_yy_scan_bytes( str, limit );
tsearch2_yy_switch_to_buffer( buf ); tsearch2_yy_switch_to_buffer( buf );
......
...@@ -42,7 +42,7 @@ Datum prsd_start(PG_FUNCTION_ARGS); ...@@ -42,7 +42,7 @@ Datum prsd_start(PG_FUNCTION_ARGS);
Datum Datum
prsd_start(PG_FUNCTION_ARGS) prsd_start(PG_FUNCTION_ARGS)
{ {
start_parse_str((char *) PG_GETARG_POINTER(0), PG_GETARG_INT32(1)); tsearch2_start_parse_str((char *) PG_GETARG_POINTER(0), PG_GETARG_INT32(1));
PG_RETURN_POINTER(NULL); PG_RETURN_POINTER(NULL);
} }
...@@ -67,7 +67,7 @@ Datum ...@@ -67,7 +67,7 @@ Datum
prsd_end(PG_FUNCTION_ARGS) prsd_end(PG_FUNCTION_ARGS)
{ {
/* ParserState *p=(ParserState*)PG_GETARG_POINTER(0); */ /* ParserState *p=(ParserState*)PG_GETARG_POINTER(0); */
end_parse(); tsearch2_end_parse();
PG_RETURN_VOID(); PG_RETURN_VOID();
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment