From 47a69a56034f0b010f11d8cffc9157745f1cf9bb Mon Sep 17 00:00:00 2001 From: Marian Ohligs Date: Fri, 8 Apr 2011 14:58:33 +0200 Subject: [PATCH] corrent status --- kernel/syscall.c | 13 ++++++++----- newlib/examples/hello.c | 16 ++++++++++------ 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/kernel/syscall.c b/kernel/syscall.c index 7561911f..69e62df0 100644 --- a/kernel/syscall.c +++ b/kernel/syscall.c @@ -53,17 +53,20 @@ int syscall_handler(uint32_t sys_nr, ...) break; case __NR_read: { int fd = va_arg(vl, int); - uint8_t* buf = va_arg(vl, uint8_t*); + const char* buf = va_arg(vl, const char*); size_t len = va_arg(vl, size_t); - ret = read_fs(per_core(current_task)->fildes_table[fd].node, buf, len, per_core(current_task)->fildes_table[fd].offset); - kprintf("%p, hmmmm...", ret); + read_fs(per_core(current_task)->fildes_table[fd].node, (uint8_t*)buf, len, per_core(current_task)->fildes_table[fd].offset); + kprintf("Dateiinhalt:%i\n", len); + sys_write(fd, buf, len); + kprintf("\n"); + ret = 8; break; } case __NR_write: { int fd = va_arg(vl, int); - uint8_t* buf = va_arg(vl, uint8_t*); + const char* buf = va_arg(vl, const char*); size_t len = va_arg(vl, size_t); - ret = write_fs(per_core(current_task)->fildes_table[fd].node, buf, len, per_core(current_task)->fildes_table[fd].offset); + ret = write_fs(per_core(current_task)->fildes_table[fd].node, (uint8_t*)buf, len, per_core(current_task)->fildes_table[fd].offset); break; } case __NR_open: { diff --git a/newlib/examples/hello.c b/newlib/examples/hello.c index 61ae7a9d..75b91aaa 100644 --- a/newlib/examples/hello.c +++ b/newlib/examples/hello.c @@ -30,11 +30,15 @@ int main(int argc, char** argv) int i; char* str; FILE* testfile; - testfile = fopen("/bin/test\n", "rw\n"); - str = fgets(str, 5, testfile); - - printf("%s", str); - printf("Hello from printf2!!!\n"); - + + testfile = fopen("/bin/test", "rw\n"); + setbuf(testfile, 2); + //printf("Dateiinhalt\n"); + fgets(str, 10, testfile); + //fgets(str, 2, testfile); + //setbuf(testfile, 0); + //printf("%s", str); + //printf("Hello from printf2!!!\n"); + return errno; }