From 499e349afa57536ce80497aa99f61c5492e3733e Mon Sep 17 00:00:00 2001 From: "Nicolas \"Pixel\" Noble" Date: Sat, 29 Jan 2011 03:15:44 +0100 Subject: More filesystem stuff working. devfs is now in place with stdin, stdout, and stderr. --- os/src/write.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'os/src/write.c') diff --git a/os/src/write.c b/os/src/write.c index 50fadc6..268c0f1 100644 --- a/os/src/write.c +++ b/os/src/write.c @@ -1,7 +1,22 @@ #include #include +#include +#include "fio.h" _ssize_t _write_r(struct _reent * reent, int fd, const void * buf, size_t size) { - DBGOUT("_write_r(%p, %d, %p, %u)\r\n", reent, fd, buf, size); - return 0; + int r; + + if (!fio_is_open(fd)) { + reent->_errno = EBADF; + return -1; + } + + r = fio_write(fd, buf, size); + + if (r < 0) { + reent->_errno = EINVAL; + return -1; + } + + return r; } -- cgit v1.2.3