]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/parser.y
applied the patch from Dimitri to prevent crashes with (some) interlaced GIFs
[wxWidgets.git] / src / common / parser.y
index 141a6280f4ee6b4689a404570d2490b9e47f09e7..a5dcdf37a78a6d8db1859d1a83fae19465b62cc5 100644 (file)
@@ -1,3 +1,4 @@
+/* Version: $Id$ */
  %{
 #include "wx/setup.h"
 #include <string.h>
  %{
 #include "wx/setup.h"
 #include <string.h>
@@ -78,14 +79,12 @@ command     :       WORD PERIOD
 
 expr   :       WORD OPEN arglist CLOSE 
                        {$$ = proio_cons(wxmake_word($1), $3); free($1);}
 
 expr   :       WORD OPEN arglist CLOSE 
                        {$$ = proio_cons(wxmake_word($1), $3); free($1);}
-       |       OPEN_SQUARE CLOSE_SQUARE
-                        {$$ = proio_cons(NULL, NULL);}
        |       OPEN_SQUARE arglist CLOSE_SQUARE
                        {$$ = $2; }
        ;
 
 arglist        :
        |       OPEN_SQUARE arglist CLOSE_SQUARE
                        {$$ = $2; }
        ;
 
 arglist        :
-                       {$$ = NULL;}
+                       {$$ = proio_cons(NULL, NULL);}
        |       arg
                        {$$ = proio_cons($1, NULL);}
        |
        |       arg
                        {$$ = proio_cons($1, NULL);}
        |
@@ -125,13 +124,13 @@ arg1      :       WORD
  * for example, cross compilation. */
 #if (defined(__WXGTK__) || defined(__WXWINE__) || defined(__WXMOTIF__)) || defined(__WX_SETUP_H__) && !defined(NO_CONFIGURE)
 #include "lexer.c"
  * for example, cross compilation. */
 #if (defined(__WXGTK__) || defined(__WXWINE__) || defined(__WXMOTIF__)) || defined(__WX_SETUP_H__) && !defined(NO_CONFIGURE)
 #include "lexer.c"
-#else
-#if (defined(__MWERKS__))
+#elif defined(__WXMAC__) && defined(__APPLE__)
+#include "lexer.c"
+#elif defined(__MWERKS__)
 #include "../common/cwlex_yy.c"
 #else
 #include "../common/lex_yy.c"
 #endif
 #include "../common/cwlex_yy.c"
 #else
 #include "../common/lex_yy.c"
 #endif
-#endif
 
 /*
 void yyerror(s)
 
 /*
 void yyerror(s)
@@ -156,10 +155,15 @@ void yyerror(char *s)
  * the UNIX flex expects a proper function.
  */
 
  * the UNIX flex expects a proper function.
  */
 
-/* Not sure if __SC__ is the appropriate thing
- * to test
+/* At least on alphaev6-dec-osf4.0e yywrap() must be #define'd.
+ * RL: ... but on Debian/Alpha(linux) it must not, so hopefully
+ *     testing for __OSF__ here is what we really want.
  */
  */
-
+#ifdef __OSF__
+#ifndef yywrap
+#define yywrap() 1
+#endif
+#else
 /* HH: Added test for __WX_SETUP_H__ for gnuwin builds
  * using configure */ 
 #if !defined(__SC__) && !defined(__GNUWIN32__) 
 /* HH: Added test for __WX_SETUP_H__ for gnuwin builds
  * using configure */ 
 #if !defined(__SC__) && !defined(__GNUWIN32__) 
@@ -175,3 +179,5 @@ int yywrap() { return 1; }
 #elif defined(__WX_SETUP_H__)
 int yywrap() { return 1; }
 #endif
 #elif defined(__WX_SETUP_H__)
 int yywrap() { return 1; }
 #endif
+#endif
+