Files
kern/libc/stdio/char.c
T
2024-10-25 18:11:10 +02:00

30 lines
586 B
C
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#include <stdio.h>
#include <syscall.h>
int getchar(void) { return getc(stdin); }
int putchar(int c) { return putc(stdout); }
int getc(FILE* stream) {
if (!stream) { return EOF; }
unsigned char ch;
ssize_t res = read(stream->_file, &ch, 1);
if (res <= 0) { return EOF; }
return (int)ch;
}
int putc(int c, FILE* stream) {
if (!stream) { return EOF; }
unsigned char ch = (unsigned char)c;
ssize_t res = write(stream->_file, &c, 1);
if (res <= 0) { return EOF; }
return (int)ch;
}
// TODO:
int ungetc(int c, FILE* stream) { return EOF; }