version 1.38, 1996/07/26 15:28:29
|
version 1.39, 1996/09/23 20:42:00
|
Line 153 UCell checksum(Label symbols[])
|
Line 153 UCell checksum(Label symbols[])
|
return r; |
return r; |
} |
} |
|
|
Address loader(FILE *imagefile) |
Address loader(FILE *imagefile, char* filename) |
/* returns the address of the image proper (after the preamble) */ |
/* returns the address of the image proper (after the preamble) */ |
{ |
{ |
ImageHeader header; |
ImageHeader header; |
Line 171 Address loader(FILE *imagefile)
|
Line 171 Address loader(FILE *imagefile)
|
do |
do |
{ |
{ |
if(fread(magic,sizeof(Char),8,imagefile) < 8) { |
if(fread(magic,sizeof(Char),8,imagefile) < 8) { |
fprintf(stderr,"%s: image doesn't seem to be a Gforth (>=0.2) image.\n",progname); |
fprintf(stderr,"%s: image %s doesn't seem to be a Gforth (>=0.2) image.\n", |
|
progname, filename); |
exit(1); |
exit(1); |
} |
} |
preamblesize+=8; |
preamblesize+=8; |
Line 263 int go_forth(Address image, int stack, C
|
Line 264 int go_forth(Address image, int stack, C
|
|
|
for(;stack>0;stack--) |
for(;stack>0;stack--) |
*--sp=entries[stack-1]; |
*--sp=entries[stack-1]; |
|
|
|
#ifndef MSDOS |
get_winsize(); |
get_winsize(); |
|
#endif |
|
|
install_signal_handlers(); /* right place? */ |
install_signal_handlers(); /* right place? */ |
|
|
if ((throw_code=setjmp(throw_jmp_buf))) { |
if ((throw_code=setjmp(throw_jmp_buf))) { |
Line 402 int main(int argc, char **argv, char **e
|
Line 406 int main(int argc, char **argv, char **e
|
for (i=0; i<environ[0]; i++) |
for (i=0; i<environ[0]; i++) |
printf("%s\n", ((char **)(environ[1]))[i]); |
printf("%s\n", ((char **)(environ[1]))[i]); |
*/ |
*/ |
retvalue=go_forth(loader(image_file),3,environ); |
retvalue=go_forth(loader(image_file, imagename),3,environ); |
deprep_terminal(); |
deprep_terminal(); |
exit(retvalue); |
exit(retvalue); |
} |
} |