--- gforth/prim 2007/06/30 20:50:48 1.215 +++ gforth/prim 2007/09/16 16:26:11 1.218 @@ -109,9 +109,9 @@ \E store-optimization on \E ' noop tail-nextp2 ! \ now INST_TAIL just stores, but does not jump \E -\E include-skipped-insts on \ static superinsts include cells for components -\E \ useful for dynamic programming and -\E \ superinsts across entry points +\E `include-skipped-insts' on \ static superinsts include cells for components +\E \ useful for dynamic programming and +\E \ superinsts across entry points \ \ @@ -1783,19 +1783,10 @@ close-file ( wfileid -- wior ) file clo wior = IOR(fclose((FILE *)wfileid)==EOF); open-file ( c_addr u wfam -- wfileid wior ) file open_file -wfileid = (Cell)fopen(tilde_cstr(c_addr, u, 1), fileattr[wfam]); -wior = IOR(wfileid == 0); +wfileid = opencreate_file(tilde_cstr(c_addr,u,1), wfam, 0, &wior); create-file ( c_addr u wfam -- wfileid wior ) file create_file -Cell fd; -fd = open(tilde_cstr(c_addr, u, 1), O_CREAT|O_TRUNC|ufileattr[wfam], 0666); -if (fd != -1) { - wfileid = (Cell)fdopen(fd, fileattr[wfam]); - wior = IOR(wfileid == 0); -} else { - wfileid = 0; - wior = IOR(1); -} +wfileid = opencreate_file(tilde_cstr(c_addr,u,1), wfam, O_CREAT|O_TRUNC, &wior); delete-file ( c_addr u -- wior ) file delete_file wior = IOR(unlink(tilde_cstr(c_addr, u, 1))==-1); @@ -2110,7 +2101,7 @@ floor ( r1 -- r2 ) float /* !! unclear wording */ r2 = floor(r1); -fround ( r1 -- r2 ) gforth f_round +fround ( r1 -- r2 ) float f_round ""Round to the nearest integral value."" r2 = rint(r1);