## 08_flex.dpatch by Michael Fedrowitz <michaelf@debian.org>
## DP: fix for building with flex 2.5.31
diff -urNad /home/michael/debian/enscript-1.6.4/states/lex.l enscript-1.6.4/states/lex.l
--- /home/michael/debian/enscript-1.6.4/states/lex.l	2003-03-05 08:26:33.000000000 +0100
+++ enscript-1.6.4/states/lex.l	2003-11-08 21:06:59.000000000 +0100
@@ -43,111 +43,7 @@
 
 %%
 
-"/*" 		{ eat_comment (); }
-[ \t\r\f]	{ ; }
-\n		{ linenum++; }
-
-\"		{ yylval.node = node_alloc (nSTRING);
-		  yylval.node->u.str.data
-	            = read_string (&yylval.node->u.str.len);
-		  return tSTRING;
-		}
-
-'[^\\]' 	{ yylval.node = node_alloc (nINTEGER);
-		  yylval.node->u.integer = yytext[1];
-		  return tINTEGER;
-		}
-
-'\\.'		{ yylval.node = node_alloc (nINTEGER);
-		  switch (yytext[2])
-		    {
-		    case 'n':
-		      yylval.node->u.integer = '\n';
-		      break;
-
-		    case 't':
-		      yylval.node->u.integer = '\t';
-		      break;
-
-		    case 'v':
-		      yylval.node->u.integer = '\v';
-		      break;
-
-		    case 'b':
-		      yylval.node->u.integer = '\b';
-		      break;
-
-		    case 'r':
-		      yylval.node->u.integer = '\r';
-		      break;
-
-		    case 'f':
-		      yylval.node->u.integer = '\f';
-		      break;
-
-		    case 'a':
-		      yylval.node->u.integer = '\a';
-		      break;
-
-		    default:
-		      yylval.node->u.integer = yytext[2];
-		      break;
-		    }
-
-		  return tINTEGER;
-		}
-
-\/		{ yylval.node = node_alloc (nREGEXP);
-		  read_regexp (yylval.node);
-		  return tREGEXP;
-		}
-
-"BEGIN" 	{ return tBEGIN; }
-"END" 		{ return tEND; }
-"div" 		{ return tDIV; }
-"else" 		{ return tELSE; }
-"extends"	{ return tEXTENDS; }
-"for" 		{ return tFOR; }
-"if" 		{ return tIF; }
-"local"		{ return tLOCAL; }
-"namerules" 	{ return tNAMERULES; }
-"return"	{ return tRETURN; }
-"start" 	{ return tSTART; }
-"startrules" 	{ return tSTARTRULES; }
-"state" 	{ return tSTATE; }
-"sub" 		{ return tSUB; }
-"while"		{ return tWHILE; }
-
-"==" 		{ return tEQ; }
-"!=" 		{ return tNE; }
-"<=" 		{ return tLE; }
-">=" 		{ return tGE; }
-"&&" 		{ return tAND; }
-"||" 		{ return tOR; }
-"++" 		{ return tPLUSPLUS; }
-"--" 		{ return tMINUSMINUS; }
-"+="		{ return tADDASSIGN; }
-"-="		{ return tSUBASSIGN; }
-"*="		{ return tMULASSIGN; }
-"div="		{ return tDIVASSIGN; }
-
-{real} 		{ yylval.node = node_alloc (nREAL);
-		  yylval.node->u.real = atof (yytext);
-		  return tREAL;
-		}
-{integer}	{ yylval.node = node_alloc (nINTEGER);
-		  yylval.node->u.integer = atoi (yytext);
-		  return tINTEGER;
-		}
-{symbol}	{ yylval.node = node_alloc (nSYMBOL);
-		  yylval.node->u.sym = xstrdup (yytext);
-		  return tSYMBOL;
-		}
-
-.		{ return yytext[0]; }
-
-%%
-
+%{
-static void
+void
 eat_comment ()
 {
@@ -175,13 +71,6 @@
   yyerror (_("error: EOF in comment"));
 }
 
-
-int
-yywrap ()
-{
-  return 1;
-}
-
-static char *
+char *
 read_string (len_return)
      unsigned int *len_return;
@@ -292,7 +188,7 @@
 }
 
 
-static void
+void
 read_regexp (node)
      Node *node;
 {
@@ -421,6 +310,112 @@
   node->u.re.data = buf2;
   node->u.re.len = bufpos;
 }
+%}
+
+"/*" 		{ eat_comment (); }
+[ \t\r\f]	{ ; }
+\n		{ linenum++; }
+
+\"		{ yylval.node = node_alloc (nSTRING);
+		  yylval.node->u.str.data
+	            = read_string (&yylval.node->u.str.len);
+		  return tSTRING;
+		}
+
+'[^\\]' 	{ yylval.node = node_alloc (nINTEGER);
+		  yylval.node->u.integer = yytext[1];
+		  return tINTEGER;
+		}
+
+'\\.'		{ yylval.node = node_alloc (nINTEGER);
+		  switch (yytext[2])
+		    {
+		    case 'n':
+		      yylval.node->u.integer = '\n';
+		      break;
+
+		    case 't':
+		      yylval.node->u.integer = '\t';
+		      break;
+
+		    case 'v':
+		      yylval.node->u.integer = '\v';
+		      break;
+
+		    case 'b':
+		      yylval.node->u.integer = '\b';
+		      break;
+
+		    case 'r':
+		      yylval.node->u.integer = '\r';
+		      break;
+
+		    case 'f':
+		      yylval.node->u.integer = '\f';
+		      break;
+
+		    case 'a':
+		      yylval.node->u.integer = '\a';
+		      break;
+
+		    default:
+		      yylval.node->u.integer = yytext[2];
+		      break;
+		    }
+
+		  return tINTEGER;
+		}
+
+\/		{ yylval.node = node_alloc (nREGEXP);
+		  read_regexp (yylval.node);
+		  return tREGEXP;
+		}
+
+"BEGIN" 	{ return tBEGIN; }
+"END" 		{ return tEND; }
+"div" 		{ return tDIV; }
+"else" 		{ return tELSE; }
+"extends"	{ return tEXTENDS; }
+"for" 		{ return tFOR; }
+"if" 		{ return tIF; }
+"local"		{ return tLOCAL; }
+"namerules" 	{ return tNAMERULES; }
+"return"	{ return tRETURN; }
+"start" 	{ return tSTART; }
+"startrules" 	{ return tSTARTRULES; }
+"state" 	{ return tSTATE; }
+"sub" 		{ return tSUB; }
+"while"		{ return tWHILE; }
+
+"==" 		{ return tEQ; }
+"!=" 		{ return tNE; }
+"<=" 		{ return tLE; }
+">=" 		{ return tGE; }
+"&&" 		{ return tAND; }
+"||" 		{ return tOR; }
+"++" 		{ return tPLUSPLUS; }
+"--" 		{ return tMINUSMINUS; }
+"+="		{ return tADDASSIGN; }
+"-="		{ return tSUBASSIGN; }
+"*="		{ return tMULASSIGN; }
+"div="		{ return tDIVASSIGN; }
+
+{real} 		{ yylval.node = node_alloc (nREAL);
+		  yylval.node->u.real = atof (yytext);
+		  return tREAL;
+		}
+{integer}	{ yylval.node = node_alloc (nINTEGER);
+		  yylval.node->u.integer = atoi (yytext);
+		  return tINTEGER;
+		}
+{symbol}	{ yylval.node = node_alloc (nSYMBOL);
+		  yylval.node->u.sym = xstrdup (yytext);
+		  return tSYMBOL;
+		}
+
+.		{ return yytext[0]; }
+
+%%
 
 
 /*
