diff options
author | Alex Auvolat <alex@adnab.me> | 2016-07-15 23:12:14 +0200 |
---|---|---|
committer | Alex Auvolat <alex@adnab.me> | 2016-07-15 23:12:14 +0200 |
commit | 32407e728971006ed3d0885e01c22fb66c8adc57 (patch) | |
tree | 89483d39e8e2638383f815d4e73b647334fe2fe9 /src/lib/libkogata/stdio.c | |
parent | ba4e59a1d687173ac5cfa74d26d71d6059dc6bc6 (diff) | |
download | kogata-32407e728971006ed3d0885e01c22fb66c8adc57.tar.gz kogata-32407e728971006ed3d0885e01c22fb66c8adc57.zip |
Move stuff around, again
Diffstat (limited to 'src/lib/libkogata/stdio.c')
-rw-r--r-- | src/lib/libkogata/stdio.c | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/src/lib/libkogata/stdio.c b/src/lib/libkogata/stdio.c deleted file mode 100644 index 94dec22..0000000 --- a/src/lib/libkogata/stdio.c +++ /dev/null @@ -1,63 +0,0 @@ -#include <syscall.h> -#include <string.h> - -#include <printf.h> -#include <stdio.h> - - -fd_t stdio = 1; - -int getchar() { - char chr; - size_t sz = read(stdio, 0, 1, &chr); - ASSERT(sz == 1); - return chr; -} - - -int putchar(int c) { - char chr = c; - write(stdio, 0, 1, &chr); - return 0; //TODO what? -} - -int puts(const char* s) { - // TODO return EOF on error - return write(stdio, 0, strlen(s), s); -} - -void getline(char* buf, size_t l) { - size_t i = 0; - while (true) { - int c = getchar(); - if (c == '\n') { - putchar('\n'); - buf[i] = 0; - break; - } else if (c == '\b') { - if (i > 0) { - i--; - putchar('\b'); - } - } else if (c >= ' ') { - buf[i] = c; - if (i < l-1) { - i++; - putchar(c); - } - } - } -} - -int printf(const char* fmt, ...) { - va_list ap; - char buffer[256]; - - va_start(ap, fmt); - vsnprintf(buffer, 256, fmt, ap); - va_end(ap); - - return puts(buffer); -} - -/* vim: set ts=4 sw=4 tw=0 noet :*/ |