Fix white spaces.
[pforth] / fth / utils / load_file.fth
CommitLineData
8e9db35f
PB
1\ Load a file into an allocated memory image.
2\
3\ Author: Phil Burk
4\ Copyright 3DO 1995
5
6anew task-load_file.fth
7
8: $LOAD.FILE { $filename | fid numbytes numread err data -- data-addr 0 | 0 err }
9 0 -> data
10\ open file
11 $filename count r/o open-file -> err -> fid
12 err
13 IF
14 ." $LOAD.FILE - Could not open input file!" cr
15 ELSE
16\ determine size of file
17 fid file-size -> err -> numbytes
18 err
19 IF
20 ." $LOAD.FILE - File size failed!" cr
21 ELSE
22 ." File size = " numbytes . cr
23\ allocate memory for sample, when done free memory using FREE
24 numbytes allocate -> err -> data
25 err
26 IF
27 ." $LOAD.FILE - Memory allocation failed!" cr
28 ELSE
29\ read data
30 data numbytes fid read-file -> err
31 ." Read " . ." bytes from file " $filename count type cr
32 THEN
33 THEN
34 fid close-file drop
35 THEN
36 data err
37;
38
39\ Example: c" myfile" $load.file abort" Oops!" free .