]> git.mxchange.org Git - simgear.git/commitdiff
Fix the persisent IRIX bug.
authorehofman <ehofman>
Mon, 2 Jan 2006 13:32:16 +0000 (13:32 +0000)
committerehofman <ehofman>
Mon, 2 Jan 2006 13:32:16 +0000 (13:32 +0000)
simgear/nasal/code.c

index 871bad06ebd12d3e8cf62ea552002e85381f52e2..9e5907f6266b7e67b74f732b52f86f64835b8ca7 100644 (file)
@@ -200,10 +200,18 @@ void naFreeContext(struct Context* c)
     UNLOCK();
 }
 
-#define PUSH(r) do { \
+#if !defined(sgi)
+# define PUSH(r) do { \
     if(ctx->opTop >= MAX_STACK_DEPTH) ERR(ctx, "stack overflow"); \
     ctx->opStack[ctx->opTop++] = r; \
-    } while(0)
+    } while(0);
+#else
+# define PUSH(r)  _PUSH((ctx), (r))
+void _PUSH(struct Context* ctx, naRef r) {
+   if(ctx->opTop >= MAX_STACK_DEPTH) ERR(ctx, "stack overflow");
+    ctx->opStack[ctx->opTop++] = r;
+}
+#endif
 
 static void setupArgs(naContext ctx, struct Frame* f, naRef* args, int nargs)
 {