--- gforth/stuff.fs 2000/11/29 22:21:57 1.18 +++ gforth/stuff.fs 2001/01/19 21:07:05 1.19 @@ -106,3 +106,12 @@ AUser CSP noname : POSTPONE rdrop lastxt r> cell+ ! \ patch the literal ; immediate + +: slurp-file ( c-addr1 u1 -- c-addr2 u2 ) + \ c-addr1 u1 is the filename, c-addr2 u2 is the file's contents + r/o bin open-file throw >r + r@ file-size throw abort" file too large" + dup allocate throw swap + 2dup r@ read-file throw over <> abort" could not read whole file" + r> close-file throw ; +