[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v2 11/12] mini-os: add struct file_ops for FTYPE_FILE
FTYPE_FILE is the last relevant file type without a struct file_ops. Add it. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> --- lib/sys.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/lib/sys.c b/lib/sys.c index 12deaed..0f42e97 100644 --- a/lib/sys.c +++ b/lib/sys.c @@ -99,6 +99,11 @@ static struct file_ops file_ops_none = { .name = "none", }; +static struct file_ops file_file_ops = { + .name = "file", + .lseek = lseek_default, +}; + #ifdef HAVE_LWIP static int socket_read(int fd, void *buf, size_t nbytes) { @@ -160,6 +165,7 @@ static struct file_ops *file_ops[FTYPE_N + FTYPE_SPARE] = { #ifdef CONFIG_CONSFRONT [FTYPE_CONSOLE] = &console_ops, #endif + [FTYPE_FILE] = &file_file_ops, #ifdef HAVE_LWIP [FTYPE_SOCKET] = &socket_ops, #endif @@ -397,16 +403,9 @@ off_t lseek(int fd, off_t offset, int whence) if ( ops->lseek ) return ops->lseek(fd, offset, whence); - switch(files[fd].type) { - case FTYPE_FILE: - break; - default: - /* Not implemented for this filetype */ - errno = ESPIPE; - return (off_t) -1; - } - - return lseek_default(fd, offset, whence); + /* Not implemented for this filetype */ + errno = ESPIPE; + return (off_t) -1; } int fsync(int fd) { -- 2.26.2
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |