]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/dosyacc.c
attempt to fix crash in tree ctrl
[wxWidgets.git] / src / common / dosyacc.c
index 3220c8dd7bef9c551c176237f3f89f634e86b8a2..5cd881ca33b60d63756d9446cd4259b537d1cb81 100644 (file)
@@ -4,7 +4,7 @@ static char yysccsid[] = "@(#)yaccpar     1.7 (Berkeley) 09/09/90";
 #define YYBYACC 1
 #line 2 "parser.y"
 #include "string.h"
 #define YYBYACC 1
 #line 2 "parser.y"
 #include "string.h"
-#ifdef _MSC_VER
+#if defined(_MSC_VER) || defined(__VISAGECPP__)
 #include <io.h>
 #endif
 #include "wx/expr.h"
 #include <io.h>
 #endif
 #include "wx/expr.h"
@@ -247,7 +247,10 @@ void yyerror(char *s)
 #define yywrap() 1
 #endif
 #else
 #define yywrap() 1
 #endif
 #else
-int yywrap() { return 1; }
+#  if !(defined(__VISAGECPP__) && __IBMC__ >= 400)
+/* VA 4.0 thinks this is multiply defined (in lex_yy.c) */
+   int yywrap() { return 1; }
+#  endif
 #endif
 #endif
 #line 247 "y_tab.c"
 #endif
 #endif
 #line 247 "y_tab.c"
@@ -262,7 +265,8 @@ yyparse()
     register char *yys;
     extern char *getenv();
 
     register char *yys;
     extern char *getenv();
 
-    if (yys = getenv("YYDEBUG"))
+    yys = getenv("YYDEBUG");
+    if (yys)
     {
         yyn = *yys;
         if (yyn >= '0' && yyn <= '9')
     {
         yyn = *yys;
         if (yyn >= '0' && yyn <= '9')
@@ -279,7 +283,8 @@ yyparse()
     *yyssp = yystate = 0;
 
 yyloop:
     *yyssp = yystate = 0;
 
 yyloop:
-    if (yyn = yydefred[yystate]) goto yyreduce;
+    yyn = yydefred[yystate];
+    if (yyn != 0) goto yyreduce;
     if (yychar < 0)
     {
         if ((yychar = yylex()) < 0) yychar = 0;
     if (yychar < 0)
     {
         if ((yychar = yylex()) < 0) yychar = 0;