--- abuse-sdl-0.7.0/src/include/stack.hpp.orig 2006-09-25 16:06:06.090418255 -0700 +++ abuse-sdl-0.7.0/src/include/stack.hpp 2006-09-25 16:09:09.434419282 -0700 @@ -14,16 +14,22 @@ template<class T> class grow_stack public : T **sdata; long son; + long smax; - grow_stack(int max_size) { sdata=(T **)jmalloc(max_size,"pointer stack"); son=0; } + grow_stack(int max_size) { + smax=max_size; + son=0; + sdata=(T **)jmalloc(sizeof(T *)*smax,"pointer stack"); + } void push(T *data) { + if (son>=smax) { lbreak("stack overflow (%ld)\n",smax); exit(1); } sdata[son]=data; son++; } T *pop(long total) - { if (total>son) { lbreak("stack underflow\n"); exit(0); } + { if (total>son) { lbreak("stack underflow\n"); exit(1); } son-=total; return sdata[son]; }