diff options
Diffstat (limited to 'libasn1parser/asn1p_l.c')
-rw-r--r-- | libasn1parser/asn1p_l.c | 32 |
1 files changed, 25 insertions, 7 deletions
diff --git a/libasn1parser/asn1p_l.c b/libasn1parser/asn1p_l.c index d4f152ff..12084cc0 100644 --- a/libasn1parser/asn1p_l.c +++ b/libasn1parser/asn1p_l.c @@ -28,7 +28,7 @@ #define YY_FLEX_MINOR_VERSION 5 #include <stdio.h> - +#include <errno.h> /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */ #ifdef c_plusplus @@ -41,7 +41,9 @@ #ifdef __cplusplus #include <stdlib.h> +#ifndef _WIN32 #include <unistd.h> +#endif /* Use prototypes in function declarations. */ #define YY_USE_PROTOS @@ -81,6 +83,7 @@ #define YY_PROTO(proto) () #endif + /* Returned upon end-of-file. */ #define YY_NULL 0 @@ -1884,7 +1887,7 @@ static asn1c_integer_t _lex_atoi(const char *ptr); /* Newline */ /* White-space */ -#line 1888 "asn1p_l.c" +#line 1891 "asn1p_l.c" /* Macros after this point can all be overridden by user definitions in * section 1. @@ -1984,9 +1987,20 @@ YY_MALLOC_DECL YY_FATAL_ERROR( "input in flex scanner failed" ); \ result = n; \ } \ - else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \ - && ferror( yyin ) ) \ - YY_FATAL_ERROR( "input in flex scanner failed" ); + else \ + { \ + errno=0; \ + while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ + { \ + if( errno != EINTR) \ + { \ + YY_FATAL_ERROR( "input in flex scanner failed" ); \ + break; \ + } \ + errno=0; \ + clearerr(yyin); \ + } \ + } #endif /* No semi-colon after return; correct usage is to write "yyterminate();" - @@ -2038,7 +2052,7 @@ YY_DECL #line 93 "asn1p_l.l" -#line 2042 "asn1p_l.c" +#line 2056 "asn1p_l.c" if ( yy_init ) { @@ -3098,7 +3112,7 @@ YY_RULE_SETUP #line 538 "asn1p_l.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK -#line 3102 "asn1p_l.c" +#line 3116 "asn1p_l.c" case YY_END_OF_BUFFER: { @@ -3658,11 +3672,15 @@ YY_BUFFER_STATE b; } +#ifndef _WIN32 +#include <unistd.h> +#else #ifndef YY_ALWAYS_INTERACTIVE #ifndef YY_NEVER_INTERACTIVE extern int isatty YY_PROTO(( int )); #endif #endif +#endif #ifdef YY_USE_PROTOS void yy_init_buffer( YY_BUFFER_STATE b, FILE *file ) |