Rev 8624 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
8622 | Boppan | 1 | #include |
8624 | Boppan | 2 | #include |
3 | #include |
||
8622 | Boppan | 4 | |
5 | int fgetc(FILE* stream) |
||
6 | { |
||
8624 | Boppan | 7 | unsigned bytes_read; |
8 | char c; |
||
9 | |||
10 | unsigned status = _ksys_file_read_file(stream->name, stream->position, 1, &c, &bytes_read); |
||
11 | |||
8628 | turbocat | 12 | if (status != KSYS_FS_ERR_SUCCESS) { |
8624 | Boppan | 13 | switch (status) { |
8628 | turbocat | 14 | case KSYS_FS_ERR_EOF: |
8624 | Boppan | 15 | stream->eof = 1; |
16 | break; |
||
8628 | turbocat | 17 | case KSYS_FS_ERR_1: |
18 | case KSYS_FS_ERR_2: |
||
19 | case KSYS_FS_ERR_3: |
||
20 | case KSYS_FS_ERR_4: |
||
21 | case KSYS_FS_ERR_5: |
||
22 | case KSYS_FS_ERR_7: |
||
23 | case KSYS_FS_ERR_8: |
||
24 | case KSYS_FS_ERR_9: |
||
25 | case KSYS_FS_ERR_10: |
||
26 | case KSYS_FS_ERR_11: |
||
8624 | Boppan | 27 | default: |
28 | // Just some IO error, who knows what exactly happened |
||
29 | errno = EIO; |
||
30 | stream->error = errno; |
||
31 | break; |
||
32 | } |
||
8622 | Boppan | 33 | return EOF; |
34 | } |
||
8624 | Boppan | 35 | |
36 | stream->position++; |
||
8622 | Boppan | 37 | return c; |
38 | } |