--- gforth/engine/engine.c 1998/03/21 21:37:50 1.2 +++ gforth/engine/engine.c 1998/04/16 15:34:41 1.3 @@ -256,11 +256,12 @@ Label *engine(Xt *ip0, Cell *sp0, Cell * if (ip == NULL) { #if defined(DOUBLY_INDIRECT) -#define MAX_SYMBOLS 1000 +#define MAX_SYMBOLS (sizeof(routines)/sizeof(routines[0])) +#define CODE_OFFSET (22*sizeof(Cell)) int i; - Cell code_offset = offset_image? 22*sizeof(Cell) : 0; + Cell code_offset = offset_image? CODE_OFFSET : 0; - symbols = (Label *)(malloc(MAX_SYMBOLS*sizeof(Cell)+code_offset)+code_offset); + symbols = (Label *)(malloc(MAX_SYMBOLS*sizeof(Cell)+CODE_OFFSET)+code_offset); for (i=0; i