--- gforth/engine/engine.c 2011/12/31 15:29:26 1.116 +++ gforth/engine/engine.c 2012/03/23 20:49:44 1.118 @@ -89,7 +89,13 @@ #ifdef MEMCMP_AS_SUBROUTINE extern int gforth_memcmp(const char * s1, const char * s2, size_t n); +extern Char *gforth_memmove(Char * dest, const Char* src, Cell n); +extern Char *gforth_memset(Char * s, Cell c, UCell n); +extern Char *gforth_memcpy(Char * dest, const Char* src, Cell n); #define memcmp(s1,s2,n) gforth_memcmp(s1,s2,n) +#define memmove(a,b,c) gforth_memmove(a,b,c) +#define memset(a,b,c) gforth_memset(a,b,c) +#define memcpy(a,b,c) gforth_memcpy(a,b,c) #endif #define NEWLINE '\n' @@ -263,11 +269,11 @@ extern int gforth_memcmp(const char * s1 #endif #ifdef STANDALONE -jmp_buf throw_jmp_buf; +jmp_buf * throw_jmp_handler; void throw(int code) { - longjmp(throw_jmp_buf,code); /* !! or use siglongjmp ? */ + longjmp(*throw_jmp_handler,code); /* !! or use siglongjmp ? */ } #endif