--- gforth/engine/engine.c 1998/12/08 22:03:02 1.6 +++ gforth/engine/engine.c 1998/12/20 23:17:56 1.9 @@ -45,6 +45,9 @@ #if defined(HAVE_LIBDL) || defined(HAVE_DLOPEN) /* what else? */ #include #endif +#if defined(_WIN32) +#include +#endif #ifdef hpux #include #endif @@ -77,6 +80,7 @@ int emitcounter; #endif #define NULLC '\0' +#ifdef HAS_FILE char *cstr(Char *from, UCell size, int clear) /* return a C-string corresponding to the Forth string ( FROM SIZE ). the C-string lives until the next call of cstr with CLEAR being true */ @@ -109,12 +113,6 @@ char *cstr(Char *from, UCell size, int c return b->buffer; } -#ifdef STANDALONE -char *tilde_cstr(Char *from, UCell size, int clear) -{ - return cstr(from, size, clear); -} -#else char *tilde_cstr(Char *from, UCell size, int clear) /* like cstr(), but perform tilde expansion on the string */ { @@ -156,7 +154,7 @@ char *tilde_cstr(Char *from, UCell size, return cstr(path,s1_len+s2_len,clear); } } -#endif +#endif #define NEWLINE '\n' @@ -164,6 +162,7 @@ char *tilde_cstr(Char *from, UCell size, #define rint(x) floor((x)+0.5) #endif +#ifdef HAS_FILE static char* fileattr[6]={"r","rb","r+","r+b","w","wb"}; #ifndef O_BINARY @@ -177,6 +176,7 @@ static int ufileattr[6]= { O_RDONLY|O_TEXT, O_RDONLY|O_BINARY, O_RDWR |O_TEXT, O_RDWR |O_BINARY, O_WRONLY|O_TEXT, O_WRONLY|O_BINARY }; +#endif /* if machine.h has not defined explicit registers, define them as implicit */ #ifndef IPREG @@ -250,7 +250,7 @@ Label *engine(Xt *ip0, Cell *sp0, Cell * (Label)&&dodoes, /* the following entry is normally unused; it's there because its index indicates a does-handler */ - (Label)CPU_DEP1, + CPU_DEP1, #include "prim_lab.i" (Label)0 }; @@ -270,24 +270,24 @@ Label *engine(Xt *ip0, Cell *sp0, Cell * #define CODE_OFFSET (22*sizeof(Cell)) int i; Cell code_offset = offset_image? CODE_OFFSET : 0; - + symbols = (Label *)(malloc(MAX_SYMBOLS*sizeof(Cell)+CODE_OFFSET)+code_offset); for (i=0; i=MAX_SYMBOLS) { fprintf(stderr,"gforth-ditc: more than %d primitives\n",MAX_SYMBOLS); exit(1); - } - symbols[i] = &routines[i]; } -#endif /* defined(DOUBLY_INDIRECT) */ - return symbols; + symbols[i] = &routines[i]; } +#endif /* defined(DOUBLY_INDIRECT) */ + return symbols; +} IF_TOS(TOS = sp[0]); IF_FTOS(FTOS = fp[0]); - /* prep_terminal(); */ +/* prep_terminal(); */ NEXT_P0; NEXT;