From c5e1bff6f39f3bd3dc972f55da75ba294baef802 Mon Sep 17 00:00:00 2001 From: "Michael I. Bushnell" Date: Fri, 4 Feb 1994 21:35:23 +0000 Subject: Formerly io-seek.c.~3~ --- libdiskfs/io-seek.c | 41 ++++++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 19 deletions(-) (limited to 'libdiskfs') diff --git a/libdiskfs/io-seek.c b/libdiskfs/io-seek.c index f17bc04b..7a27da1d 100644 --- a/libdiskfs/io-seek.c +++ b/libdiskfs/io-seek.c @@ -17,6 +17,7 @@ #include "priv.h" #include "io_S.h" +#include #define diskfs_readonly 0 @@ -28,26 +29,28 @@ diskfs_S_io_seek (struct protid *cred, off_t *newoffset) { - CHANGE_IP_FIELD (cred, + CHANGE_NODE_FIELD (cred, ({ - err = ioserver_get_conch (&np->i_conch); - if (!err) - switch (whence) - { - case SEEK_SET: - cred->po->filepointer = offset; - break; - case SEEK_CUR: - cred->po->filepointer += offset; - break; - case SEEK_END: - cred->po->filepointer = (np->dn_stat.st_size - + offset); - break; - default: - err = EINVAL; - break; - } + ioserver_get_conch (&np->conch); + switch (whence) + { + case SEEK_SET: + err = 0; + cred->po->filepointer = offset; + break; + case SEEK_CUR: + err = 0; + cred->po->filepointer += offset; + break; + case SEEK_END: + err = 0; + cred->po->filepointer = (np->dn_stat.st_size + + offset); + break; + default: + err = EINVAL; + break; + } *newoffset = cred->po->filepointer; })); } -- cgit v1.2.3