[Libsysio-commit] HEAD: libsysio/drivers/yod fs_yod.c
Brought to you by:
lward
From: Ruth K. <rk...@us...> - 2004-08-30 15:58:09
|
Update of /cvsroot/libsysio/libsysio/drivers/yod In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24062/drivers/yod Modified Files: fs_yod.c Log Message: Changes to officially import directory functions into sysio. This is necessitated by the glibc >= 2.3 hidden attribute on getdents. (ifdef'd out for Red Storm build) Index: fs_yod.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/drivers/yod/fs_yod.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -w -b -B -p -r1.17 -r1.18 --- fs_yod.c 26 Jul 2004 17:10:15 -0000 1.17 +++ fs_yod.c 30 Aug 2004 15:58:00 -0000 1.18 @@ -747,10 +747,10 @@ static ssize_t yod_getdirentries(struct inode *ino, char *buf, size_t nbytes, - off64_t *basep) + _SYSIO_OFF_T *basep) { struct yod_inode *nino = I2NI(ino); - loff_t result; + _SYSIO_OFF_T result; ssize_t cc; assert(nino->ni_fd >= 0); @@ -762,10 +762,11 @@ yod_getdirentries(struct inode *ino, SEEK_SET) == -1)) return -errno; nino->ni_fpos = result; + memset(buf, 0, nbytes); cc = getdirentries_yod(nino->ni_fd, buf, nbytes, &result); if (cc < 0) return -errno; - nino->ni_fpos += cc; + nino->ni_fpos = *basep = result; return cc; } |