From d3fe721a40b153c59595926afea9ec6475fdd000 Mon Sep 17 00:00:00 2001 From: Teodor Sigaev <teodor@sigaev.ru> Date: Fri, 15 Aug 2003 13:44:35 +0000 Subject: [PATCH] Eliminate function start_parse_fh and macro YY_INPUT --- contrib/tsearch/parser.h | 1 - contrib/tsearch/parser.l | 39 ---------------------------- contrib/tsearch2/wordparser/parser.h | 1 - contrib/tsearch2/wordparser/parser.l | 38 --------------------------- 4 files changed, 79 deletions(-) diff --git a/contrib/tsearch/parser.h b/contrib/tsearch/parser.h index f3aa0b8c06..469b9c043f 100644 --- a/contrib/tsearch/parser.h +++ b/contrib/tsearch/parser.h @@ -5,7 +5,6 @@ char *token; int tokenlen; int tsearch_yylex(void); void start_parse_str(char *, int); -void start_parse_fh(FILE *, int); void end_parse(void); #endif diff --git a/contrib/tsearch/parser.l b/contrib/tsearch/parser.l index 4323bda7ef..2bf3dcba07 100644 --- a/contrib/tsearch/parser.l +++ b/contrib/tsearch/parser.l @@ -22,36 +22,6 @@ char *s = NULL; /* to return WHOLE hyphenated-word */ YY_BUFFER_STATE buf = NULL; /* buffer to parse; it need for parse from string */ -int lrlimit = -1; /* for limiting read from filehandle ( -1 - unlimited read ) */ -int bytestoread = 0; /* for limiting read from filehandle */ - -/* redefine macro for read limited length */ -#define YY_INPUT(buf,result,max_size) \ - if ( yy_current_buffer->yy_is_interactive ) { \ - int c = '*', n; \ - for ( n = 0; n < max_size && \ - (c = getc( tsearch_yyin )) != EOF && c != '\n'; ++n ) \ - buf[n] = (char) c; \ - if ( c == '\n' ) \ - buf[n++] = (char) c; \ - if ( c == EOF && ferror( tsearch_yyin ) ) \ - YY_FATAL_ERROR( "input in flex scanner failed" ); \ - result = n; \ - } else { \ - if ( lrlimit == 0 ) \ - result=YY_NULL; \ - else { \ - if ( lrlimit>0 ) { \ - bytestoread = ( lrlimit > max_size ) ? max_size : lrlimit; \ - lrlimit -= bytestoread; \ - } else \ - bytestoread = max_size; \ - if ( ((result = fread( buf, 1, bytestoread, tsearch_yyin )) == 0) \ - && ferror( tsearch_yyin ) ) \ - YY_FATAL_ERROR( "input in flex scanner failed" ); \ - } \ - } - %} %option 8bit @@ -327,13 +297,4 @@ void start_parse_str(char* str, int limit) { BEGIN INITIAL; } -/* start parse from filehandle */ -void start_parse_fh( FILE* fh, int limit ) { - if (buf) end_parse(); - lrlimit = ( limit ) ? limit : -1; - buf = tsearch_yy_create_buffer( fh, YY_BUF_SIZE ); - tsearch_yy_switch_to_buffer( buf ); - BEGIN INITIAL; -} - diff --git a/contrib/tsearch2/wordparser/parser.h b/contrib/tsearch2/wordparser/parser.h index 55cf0051ed..1ce1874197 100644 --- a/contrib/tsearch2/wordparser/parser.h +++ b/contrib/tsearch2/wordparser/parser.h @@ -5,7 +5,6 @@ char *token; int tokenlen; int tsearch2_yylex(void); void start_parse_str(char *, int); -void start_parse_fh(FILE *, int); void end_parse(void); #endif diff --git a/contrib/tsearch2/wordparser/parser.l b/contrib/tsearch2/wordparser/parser.l index 49824f5525..23cfedaa20 100644 --- a/contrib/tsearch2/wordparser/parser.l +++ b/contrib/tsearch2/wordparser/parser.l @@ -23,36 +23,6 @@ char *s = NULL; /* to return WHOLE hyphenated-word */ YY_BUFFER_STATE buf = NULL; /* buffer to parse; it need for parse from string */ -int lrlimit = -1; /* for limiting read from filehandle ( -1 - unlimited read ) */ -int bytestoread = 0; /* for limiting read from filehandle */ - -/* redefine macro for read limited length */ -#define YY_INPUT(buf,result,max_size) \ - if ( yy_current_buffer->yy_is_interactive ) { \ - int c = '*', n; \ - for ( n = 0; n < max_size && \ - (c = getc( tsearch2_yyin )) != EOF && c != '\n'; ++n ) \ - buf[n] = (char) c; \ - if ( c == '\n' ) \ - buf[n++] = (char) c; \ - if ( c == EOF && ferror( tsearch2_yyin ) ) \ - YY_FATAL_ERROR( "input in flex scanner failed" ); \ - result = n; \ - } else { \ - if ( lrlimit == 0 ) \ - result=YY_NULL; \ - else { \ - if ( lrlimit>0 ) { \ - bytestoread = ( lrlimit > max_size ) ? max_size : lrlimit; \ - lrlimit -= bytestoread; \ - } else \ - bytestoread = max_size; \ - if ( ((result = fread( buf, 1, bytestoread, tsearch2_yyin )) == 0) \ - && ferror( tsearch2_yyin ) ) \ - YY_FATAL_ERROR( "input in flex scanner failed" ); \ - } \ - } - %} %option 8bit @@ -334,13 +304,5 @@ void start_parse_str(char* str, int limit) { BEGIN INITIAL; } -/* start parse from filehandle */ -void start_parse_fh( FILE* fh, int limit ) { - if (buf) end_parse(); - lrlimit = ( limit ) ? limit : -1; - buf = tsearch2_yy_create_buffer( fh, YY_BUF_SIZE ); - tsearch2_yy_switch_to_buffer( buf ); - BEGIN INITIAL; -}