add UNLEASHED_OBJ to unleashed.mk
[unleashed/tickless.git] / usr / src / cmd / ipf / tools / lex_var.h
blob0a0bd4bfff062d8b26417122f7b444ef8ca43525
2 extern long string_start;
3 extern long string_end;
4 extern char *string_val;
5 extern long pos;
7 #define YY_INPUT(buf, result, max_size) \
8 if (pos >= string_start && pos <= string_end) { \
9 buf[0] = string_val[pos - string_start]; \
10 pos++; \
11 result = 1; \
12 } else if ( yy_current_buffer->yy_is_interactive ) \
13 { \
14 int c = '*', n; \
15 for ( n = 0; n < 1 && \
16 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
17 buf[n] = (char) c; \
18 if ( c == '\n' ) \
19 buf[n++] = (char) c; \
20 if ( c == EOF && ferror( yyin ) ) \
21 YY_FATAL_ERROR( "input in flex scanner failed" ); \
22 result = n; \
23 pos++; \
24 } \
25 else if ( ((result = fread( buf, 1, 1, yyin )) == 0) \
26 && ferror( yyin ) ) \
27 YY_FATAL_ERROR( "input in flex scanner failed" );
29 #ifdef input
30 # undef input
31 # define input() (((pos >= string_start) && (pos < string_end)) ? \
32 yysptr = yysbuf, string_val[pos++ - string_start] : \
33 ((yytchar = yysptr > yysbuf ? U(*--yysptr) : \
34 getc(yyin)) == 10 ? (pos++, yylineno++, yytchar) : \
35 yytchar) == EOF ? (pos++, 0) : (pos++, yytchar))
36 #endif
38 #ifdef lex_input
39 # undef lex_input
40 # define lex_input() (((pos >= string_start) && (pos < string_end)) ? \
41 yysptr = yysbuf, string_val[pos++ - string_start] : \
42 ((yytchar = yysptr > yysbuf ? U(*--yysptr) : \
43 getc(yyin)) == 10 ? (pos++, yylineno++, yytchar) : \
44 yytchar) == EOF ? (pos++, 0) : (pos++, yytchar))
45 #endif
47 #ifdef unput
48 # undef unput
49 # define unput(c) { if (pos > 0) pos--; \
50 yytchar = (c); if (yytchar == '\n') yylineno--; \
51 *yysptr++ = yytchar; }
52 #endif