From ea49b5b3f435bce0a301111fad0738efb0b39e0d Mon Sep 17 00:00:00 2001 From: Pixel Date: Sat, 29 Jan 2011 18:34:54 -0800 Subject: Adding some romfs support. --- os/src/read.c | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'os/src/read.c') diff --git a/os/src/read.c b/os/src/read.c index 4850c9c..f848812 100644 --- a/os/src/read.c +++ b/os/src/read.c @@ -1,7 +1,22 @@ #include #include +#include +#include "fio.h" -_ssize_t _read_r(struct _reent * reent, int fd, void * ptr, size_t size) { - DBGOUT("_read_r(%p, %d, %p, %u)\r\n", reent, fd, ptr, size); - return 0; +_ssize_t _read_r(struct _reent * reent, int fd, void * buf, size_t size) { + _ssize_t r; + + if (!fio_is_open(fd)) { + reent->_errno = EBADF; + return -1; + } + + r = fio_read(fd, buf, size); + + if (r < 0) { + reent->_errno = EINVAL; + return -1; + } + + return r; } -- cgit v1.2.3