Eliminate function start_parse_fh and macro YY_INPUT
authorTeodor Sigaev
Fri, 15 Aug 2003 13:44:35 +0000 (13:44 +0000)
committerTeodor Sigaev
Fri, 15 Aug 2003 13:44:35 +0000 (13:44 +0000)
contrib/tsearch/parser.h
contrib/tsearch/parser.l
contrib/tsearch2/wordparser/parser.h
contrib/tsearch2/wordparser/parser.l

index f3aa0b8c06b7994f3744b8d2a498a2765a1e4636..469b9c043ffa293e077cce9febdd596fe9b4b253 100644 (file)
@@ -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
index 4323bda7ef003dd269757c38046db07135904986..2bf3dcba076bc13672fcd3d71215607fcb0b2430 100644 (file)
@@ -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;
-}
-
 
index 55cf0051ed02ad06c42ccb7fbebda0abce194560..1ce187419771a68758d7602cf31345bdb735ab0d 100644 (file)
@@ -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
index 49824f55259ab2cadb3d7b0724c0b05aa09cfebf..23cfedaa201d6184ac65b7f50db703d47b380355 100644 (file)
@@ -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;
-}