diff options
Diffstat (limited to 'klibc/klibc/fgetc.c')
-rw-r--r-- | klibc/klibc/fgetc.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/klibc/klibc/fgetc.c b/klibc/klibc/fgetc.c new file mode 100644 index 0000000000..83eee16f61 --- /dev/null +++ b/klibc/klibc/fgetc.c @@ -0,0 +1,20 @@ +/* + * fgetc.c + * + * Extremely slow fgetc implementation, using _fread(). If people + * actually need character-oriented input to be fast, we may actually + * have to implement buffering. Sigh. + */ + +#include <stdio.h> +#include <unistd.h> +#include <stdlib.h> +#include <errno.h> + +int fgetc(FILE *f) +{ + unsigned char ch; + + return (_fread(&ch, 1, f) == 1) ? (int)ch : EOF; +} + |