diff options
| author | Ada Christine <adachristine18@gmail.com> | 2024-02-24 15:18:40 +0000 |
|---|---|---|
| committer | Ada Christine <adachristine18@gmail.com> | 2024-02-24 15:18:40 +0000 |
| commit | 0f3866a4dad84860e135855766c77e5a82737686 (patch) | |
| tree | 97e7bac72928ca6affc362577214646f942ad4d7 /lib | |
| parent | a61b9d1c9ee85ec08ff3b8a61e80dc33e71f3472 (diff) | |
bad reloc code silly me
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/stdio.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/lib/stdio.c b/lib/stdio.c new file mode 100644 index 0000000..70cc685 --- /dev/null +++ b/lib/stdio.c @@ -0,0 +1,30 @@ +#include <libc/stdio.h> +#include <libc/string.h> +#include <posix/unistd.h> + +struct FILE +{ + int fd; +}; + +static FILE stdin_stream = { STDIN_FILENO }; +static FILE stdout_stream = { STDOUT_FILENO }; +static FILE stderr_stream = { STDERR_FILENO }; + +FILE *stdin = &stdin_stream; +FILE *stdout = &stdout_stream; +FILE *stderr = &stderr_stream; + +int fputc(int c, FILE *f) +{ + write(f->fd, (const char *)&c, 1); + return 1; +} + +int fputs(const char *s, FILE *f) +{ + size_t slen = strlen(s); + write(f->fd, s, slen); + return (int)slen; +} + |
