X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/13f84dd50ca5754391dbd3296a5c7425f9363600..d4e112ae5fad828f33e3a44de40c6e5db7db51ad:/sbr/dtimep.lex diff --git a/sbr/dtimep.lex b/sbr/dtimep.lex index 113f2ea2..01910868 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); +} +