diff --git a/example/Atua.forth b/example/Atua.forth index 9af3e67..b3bc5d9 100755 --- a/example/Atua.forth +++ b/example/Atua.forth @@ -1,4 +1,4 @@ -#!/usr/bin/rre +#!/usr/bin/env retro # Atua: A Gopher Server diff --git a/interfaces/rre.c b/interfaces/rre.c index 3d0440c..4512873 100644 --- a/interfaces/rre.c +++ b/interfaces/rre.c @@ -261,6 +261,14 @@ void rre_execute(CELL cell, int silent) { printf("At %d, opcode %d\n", ip, opcode); #ifdef USE_TERMIOS restore_term(); +#endif + exit(1); + } + if (sp < 0 || sp > STACK_DEPTH) { + printf("Stack Limits Exceeded!\n"); + printf("At %d, opcode %d\n", ip, opcode); +#ifdef USE_TERMIOS + restore_term(); #endif exit(1); }