Rev 300 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
324 | serge | 1 | |
2 | #include "kolibc.h" |
||
300 | serge | 3 | |
4 | |||
5 | int fill_buff(FILE* f); |
||
6 | |||
7 | |||
8 | { |
||
9 | size_t req; |
||
10 | size_t cnt; |
||
11 | |||
12 | |||
13 | |||
324 | serge | 14 | |
15 | if(!((f->mode & FILE_OPEN_WRITE)|(f->mode & FILE_OPEN_PLUS))) |
||
300 | serge | 16 | return EOF; |
17 | |||
324 | serge | 18 | |
300 | serge | 19 | count=0; |
20 | while(req) |
||
21 | { |
||
22 | if(f->remain) |
||
23 | { cnt= req > f->remain ? f->remain : req; |
||
24 | memcpy(f->stream,src,cnt); |
||
324 | serge | 25 | f->stream+=cnt; |
26 | f->strpos+=cnt; |
||
27 | f->remain-=cnt; |
||
28 | count+=cnt; |
||
29 | req-=cnt; |
||
30 | } |
||
31 | else |
||
32 | { |
||
33 | // if(!write_buffer(f)) |
||
34 | // break; |
||
35 | f->filepos+=8192; |
||
36 | fill_buff(f); |
||
37 | }; |
||
38 | }; |
||
300 | serge | 39 | ***********/ |
324 | serge | 40 | return count; |
41 | |||
42 | |||
300 | serge | 43 | }; |
324 | serge | 44 |