eh, make ’em volatile, this is not time-critical code anyway
[alioth/magicpoint.git] / scanner.l
index 0a62ffb..fd666f2 100644 (file)
--- a/scanner.l
+++ b/scanner.l
@@ -1,7 +1,7 @@
 %{
 /*
  * Copyright (C) 1997 and 1998 WIDE Project.  All rights reserved.
- * 
+ *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
  * are met:
@@ -13,7 +13,7 @@
  * 3. Neither the name of the project nor the names of its contributors
  *    may be used to endorse or promote products derived from this software
  *    without specific prior written permission.
- * 
+ *
  * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
@@ -27,9 +27,6 @@
  * SUCH DAMAGE.
  */
 /*
- * $Id: scanner.l,v 1.29 2010/05/03 22:28:00 nishida Exp $
- */
-/*
  * partly derived from lbl libpcap source code, which has the following
  * copyright notice:
  */
  */
 
 #include "mgp.h"
-#include "tokdefs.h"
+#include "y.tab.h"
 
-static int stoi __P((char *));
-static inline int xdtoi __P((int));
+static int stoi(char *);
+static inline int xdtoi(int);
 
 #ifdef FLEX_SCANNER
+#define YY_NO_INPUT
 #define YY_NO_UNPUT
 #undef YY_INPUT
-#define YY_INPUT(buf, result, max)\
- {\
-       char *src = in_buffer;\
-       int i;\
-\
-       if (*src == 0)\
-               result = YY_NULL;\
-       else {\
-               for (i = 0; *src && i < max; ++i)\
-                       buf[i] = *src++;\
-               in_buffer += i;\
-               result = i;\
-       }\
+#define YY_INPUT(buf, result, max)                             \
+ {                                                             \
+       char *YYIsrc = in_buffer;                               \
+       int YYIi;                                               \
+                                                               \
+       if (*YYIsrc == 0)                                       \
+               result = YY_NULL;                               \
+       else {                                                  \
+               for (YYIi = 0; *YYIsrc && YYIi < max; ++YYIi)   \
+                       buf[YYIi] = *YYIsrc++;                  \
+               in_buffer += YYIi;                              \
+               result = YYIi;                                  \
+       }                                                       \
  }
 #else
 #undef getc
 #define getc(fp)  (*in_buffer == 0 ? EOF : *in_buffer++)
 #endif
 
-/*#define yylval mgp_lval*/
-extern YYSTYPE yylval;
-extern int n_errors;
-#ifdef HAVE_STDARG_H
-/* GCC complains if we declare this function in traditional style */
-extern void yyerror(char *, ...);
-#else
-extern void yyerror(char *);
-#endif
-
 static char *in_buffer;
 %}
 
@@ -152,8 +140,6 @@ XSTR        [\240-\377]*
 (ICON|icon)            return KW_ICON;
 (DEFFONT|deffont)      return KW_DEFFONT;
 (FONT|font)            return KW_FONT;
-(EMBED|embed)          return KW_EMBED;
-(ENDEMBED|endembed)    return KW_ENDEMBED;
 (CHARSET|charset)      return KW_CHARSET;
 (PCACHE|pcache)        return KW_PCACHE;
 (VALIGN|valign)        return KW_VALIGN;
@@ -179,13 +165,13 @@ XSTR      [\240-\377]*
                }
 \"({XSTR}|{ASTRN})*\" {
                        if (mgp_flag & FL_NOFORK) {
-                               yyerror("invalid character <%c>", *(char *)yytext);
+                               yyerror("invalid character <%c>", *(char *)yytext);
                        } else {
                                yylval.s = strdup((char *)yytext) + 1;
                                if (strlen(yylval.s))
                                        yylval.s[strlen(yylval.s) - 1] = '\0';
                                return STR;
-                       }       
+                       }
                }
 .              {
                  yyerror("invalid character <%c>", *(char *)yytext);
@@ -193,8 +179,7 @@ XSTR        [\240-\377]*
 %%
 
 void
-lex_init(buf)
-       char *buf;
+lex_init(char *buf)
 {
        n_errors = 0;
        in_buffer = buf;
@@ -205,15 +190,14 @@ lex_init(buf)
  * define a macro to map this identifier to pcap_wrap.
  */
 int
-yywrap()
+yywrap(void)
 {
        return 1;
 }
 
 /* Hex digit to integer. */
 static inline int
-xdtoi(c)
-       register int c;
+xdtoi(register int c)
 {
        if (isdigit(c))
                return c - '0';
@@ -228,8 +212,7 @@ xdtoi(c)
  * preceding 0x or 0 and uses hex or octal instead of decimal.
  */
 static int
-stoi(s)
-       char *s;
+stoi(char *s)
 {
        int base = 10;
        int n = 0;