From cc06ff20e067ac407e7f65a282de0edbabe542bf Mon Sep 17 00:00:00 2001 From: Marian Ohligs Date: Tue, 12 Apr 2011 12:48:52 +0200 Subject: [PATCH] some test changes --- kernel/syscall.c | 12 ++++++------ newlib/examples/hello.c | 23 +++++++++++++++-------- 2 files changed, 21 insertions(+), 14 deletions(-) diff --git a/kernel/syscall.c b/kernel/syscall.c index 69e62df0..3592738f 100644 --- a/kernel/syscall.c +++ b/kernel/syscall.c @@ -56,24 +56,24 @@ int syscall_handler(uint32_t sys_nr, ...) const char* buf = va_arg(vl, const char*); size_t len = va_arg(vl, size_t); 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; + kprintf("fd:%i, Dateilaenge:%i, Dateiinhalt: %s \n", fd, len, buf); + ret = len; break; } case __NR_write: { int fd = va_arg(vl, int); 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, (uint8_t*)buf, len, per_core(current_task)->fildes_table[fd].offset); + write_fs(per_core(current_task)->fildes_table[fd].node, (uint8_t*)buf, len, per_core(current_task)->fildes_table[fd].offset); + kprintf("ins Dateis. geschr. -- fd:%i, Dateilaenge:%i, Dateiinhalt: %s \n", fd, len, buf); + ret = len; break; } case __NR_open: { const char* file = va_arg(vl, const char*); int flags = va_arg(vl, int); int mode = va_arg(vl, int); - int fd = 0; + int fd; for (fd = 0; fd < MAX_FILDES; fd++) { if (per_core(current_task)->fildes_table[fd].node == NULL) { per_core(current_task)->fildes_table[fd].node = findnode_fs((char*) file); diff --git a/newlib/examples/hello.c b/newlib/examples/hello.c index 75b91aaa..8d688aa5 100644 --- a/newlib/examples/hello.c +++ b/newlib/examples/hello.c @@ -27,17 +27,24 @@ extern int errno; int main(int argc, char** argv) { - int i; - char* str; + //int i; + char* str = (char *)malloc(40 * sizeof(char)); FILE* testfile; - - testfile = fopen("/bin/test", "rw\n"); - setbuf(testfile, 2); - //printf("Dateiinhalt\n"); - fgets(str, 10, testfile); + FILE* testfileX; + + testfileX = fopen("/bin/tests", "w+r"); + testfile = fopen("/bin/test", "w+r"); + setbuf(testfile, NULL); + setbuf(testfileX, NULL); + fwrite("wtest1\n", 1, 10, testfileX); + //fflush(testfile); + fread(str, 1, 10, testfile); + printf("Schreiben: %s", str); + setbuf(testfile, NULL); + fread(str, 1, 20, testfileX); //fgets(str, 2, testfile); //setbuf(testfile, 0); - //printf("%s", str); + //printf("Stage 2: %s", str); //printf("Hello from printf2!!!\n"); return errno;