X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=sbr%2Fdtimep.lex;h=01910868f37f60f2a4a532559a4ff4b301e01baf;hb=e87123959d15f3b190494dffdd8bce335c137874;hp=113f2ea2a03d479a35389d69292bd8a426ec563f;hpb=13f84dd50ca5754391dbd3296a5c7425f9363600;p=mmh diff --git a/sbr/dtimep.lex b/sbr/dtimep.lex index 113f2ea..0191086 100644 --- a/sbr/dtimep.lex +++ b/sbr/dtimep.lex @@ -1,3 +1,12 @@ +/* dtimep.lex exceeds the default table capacities for some old versions + * of lex (and the minimum defaults as specified by POSIX). The following + * choices meet or exceed the lex defaults for older SunOS4.x, Solaris, + * HPUX, and AIX. + */ +%e4000 +%p7000 +%n2500 +%a5000 %{ #include #include @@ -8,7 +17,7 @@ #define yywrap() 1 #define YY_SKIP_YYWRAP -#define YY_NO_UNPUT +#define YY_NO_INPUT /* This is the tricky thing that makes this function cool. We * replace the traditional int yylex(void) declaration with our @@ -389,3 +398,16 @@ nl [ \t\n()] {nl}("hdt"|"HDT") { INIT(); SETDST(); SETZONE(-1000); yyterminate(); } .|\n + +%% +/* This is a portable way to squash a warning about the yyunput() + * function being static but never used. It costs us a tiny amount + * of extra code in the binary but the other options are: + * "%option nounput" which is flex-specific + * makefile hackery just to compile dtimep.c with different flags + */ +void dtimep_yyunput(int c) +{ + unput(c); +} +