am-utils: Patch for recent flex
authorJohn Marino <draco@marino.st>
Wed, 16 Jan 2013 03:01:38 +0000 (04:01 +0100)
committerJohn Marino <draco@marino.st>
Tue, 15 Jan 2013 19:39:55 +0000 (20:39 +0100)
To prepare for the import of the latest flex, am-utils needs a tweak.
This allows both the old flex and the new flex to build it.  It is the
only software that failed to build out of the box with the new flex.

contrib/amd/amd/conf_parse.y
contrib/amd/amd/conf_tok.l
contrib/amd/fsinfo/fsi_lex.l
contrib/amd/fsinfo/fsinfo.h

index fb426ec..d02c565 100644 (file)
@@ -66,7 +66,7 @@ voidp alloca();
 #endif /* not __GNUC__ */
 
 extern char *yytext;
-extern int yylineno;
+extern int ayylineno;
 extern int yylex(void);
 
 static int yyerror(const char *s);
@@ -78,7 +78,7 @@ static char *header_section = NULL; /* start with no header section */
 #define PARSE_DEBUG 0
 
 #if PARSE_DEBUG
-# define dprintf(f,s) fprintf(stderr, (f), yylineno, (s))
+# define dprintf(f,s) fprintf(stderr, (f), ayylineno, (s))
 # define amu_return(v)
 #else
 # define dprintf(f,s)
@@ -168,7 +168,7 @@ static int
 yyerror(const char *s)
 {
   fprintf(stderr, "AMDCONF: %s on line %d (section %s)\n",
-         s, yylineno,
+         s, ayylineno,
          (header_section ? header_section : "null"));
   exit(1);
   return 1;    /* to full compilers that insist on a return statement */
index 0756711..a157f5f 100644 (file)
@@ -77,7 +77,7 @@
 # ifndef ECHO
 #  define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
 # endif /* not ECHO */
-int yylineno = 0;
+int ayylineno = 0;
 #endif /* FLEX_SCANNER */
 
 int yylex(void);
@@ -93,7 +93,7 @@ int yywrap(void);
 #define TOK_DEBUG 0
 
 #if TOK_DEBUG
-# define dprintf(f,s) fprintf(stderr, (f), yylineno, (s))
+# define dprintf(f,s) fprintf(stderr, (f), ayylineno, (s))
 # define amu_return(v)
 #else
 # define dprintf(f,s)
@@ -119,7 +119,7 @@ NONQUOTE    [^\"]
 %%
 
 \n                     {
-                       yylineno++;
+                       ayylineno++;
                        amu_return(NEWLINE);
                        }
 
@@ -146,7 +146,7 @@ NONQUOTE    [^\"]
                        }
 "#"[^\n]*\n            {
                        /* a comment line includes the terminating \n */
-                       yylineno++;
+                       ayylineno++;
                        yytext[strlen((char *)yytext)-1] = '\0';
                        dprintf("%8d: Comment \"%s\"\n", yytext);
                        }
index 545ed5c..7ae097c 100644 (file)
@@ -49,7 +49,7 @@
  */
 
 #ifdef FLEX_SCANNER
-static int yylineno;
+static int ayylineno;
 # define INIT_STATE {                          \
                switch ((yy_start - 1) / 2) {   \
                case 0:                         \
@@ -166,22 +166,22 @@ struct r {
 
 <F>[^ \t\n"={}]+       { return find_resword(yytext); } /* dummy " */
 <F>[ \t]               ;
-<F>"\n"                        { yylineno++; }
+<F>"\n"                        { ayylineno++; }
 <F>[={}]               { return *yytext; }
 
 <F>\"                  { BEGIN Q; optr = ostr; quoted = 1; }
-<Q>\n                  { yylineno++; yyerror("\" expected"); BEGIN F; }
+<Q>\n                  { ayylineno++; yyerror("\" expected"); BEGIN F; }
 <Q>\\b                 { *optr++ = '\b'; /* escape */ }
 <Q>\\t                 { *optr++ = '\t'; /* escape */ }
 <Q>\\\"                        { *optr++ = '\"'; /* escape */ }
 <Q>\\\\                        { *optr++ = '\\'; /* escape */ }
-<Q>\\\n                        { yylineno++; /* continue */ }
+<Q>\\\n                        { ayylineno++; /* continue */ }
 <Q>\\r                 { *optr++ = '\r'; /* escape */ }
 <Q>\\n                 { *optr++ = '\n'; /* escape */ }
 <Q>\\f                 { *optr++ = '\f'; /* escape */ }
 <Q>"\\ "               { *optr++ = ' '; /* force space */ }
 <Q>\\.                 { yyerror("Unknown \\ sequence"); }
-<Q>([ \t]|"\\\n"){2,}  { char *p = (char *) yytext-1; while ((p = strchr(p+1, '\n'))) yylineno++; }
+<Q>([ \t]|"\\\n"){2,}  { char *p = (char *) yytext-1; while ((p = strchr(p+1, '\n'))) ayylineno++; }
 <Q>\"                  { BEGIN F; quoted = 0;
                                *optr = '\0';
                                yylval.s = strdup(ostr);
@@ -235,7 +235,7 @@ yyerror(char *fmt, ...)
 
   va_start(ap, fmt);
   col_cleanup(0);
-  fprintf(stderr, "%s:%d: ", fsi_filename ? fsi_filename : "/dev/stdin", yylineno);
+  fprintf(stderr, "%s:%d: ", fsi_filename ? fsi_filename : "/dev/stdin", ayylineno);
   fprintf(stderr, fmt, ap);
   fputc('\n', stderr);
   parse_errors++;
@@ -249,7 +249,7 @@ ioloc *
 current_location(void)
 {
   ioloc *ip = CALLOC(struct ioloc);
-  ip->i_line = yylineno;
+  ip->i_line = ayylineno;
   ip->i_file = fsi_filename;
   return ip;
 }
index a828d7b..626cb4c 100644 (file)
@@ -109,7 +109,6 @@ extern void domain_strip(char *otherdom, char *localdom);
  */
 #ifndef yywrap
 extern int yywrap(void);
-# define yywrap() 1
 #endif /* not yywrap */
 extern int yyparse(void);
 extern int write_atab(qelem *q);