|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T t
Length: 822 (0x336) Types: TextFile Names: »telldir.c«
└─⟦3d0c2be1b⟧ Bits:30001254 ISODE-5.0 Tape └─⟦eba4602b1⟧ »./isode-5.0.tar.Z« └─⟦d3ac74d73⟧ └─⟦this⟧ »isode-5.0/dirent/telldir.c« └─⟦2d1937cfd⟧ Bits:30007241 EUUGD22: P.P 5.0 └─⟦35176feda⟧ »EurOpenD22/isode/isode-6.tar.Z« └─⟦de7628f85⟧ └─⟦this⟧ »isode-6.0/dirent/telldir.c«
/* telldir -- report directory stream position last edit: 25-Apr-1987 D A Gwyn NOTE: 4.nBSD directory compaction makes seekdir() & telldir() practically impossible to do right. Avoid using them! */ #include <sys/errno.h> #include <sys/types.h> #include "usr.dirent.h" #ifndef GETDENTS extern off_t lseek(); extern int errno; #ifndef SEEK_CUR #define SEEK_CUR 1 #endif off_t telldir( dirp ) /* return offset of next entry */ DIR *dirp; /* stream from opendir() */ { if ( dirp == NULL || dirp->dd_buf == NULL ) { errno = EFAULT; return -1; /* invalid pointer */ } if ( dirp->dd_loc < dirp->dd_size ) /* valid index */ return ((struct dirent *)&dirp->dd_buf[dirp->dd_loc])->d_off; else /* beginning of next directory block */ return lseek( dirp->dd_fd, (off_t)0, SEEK_CUR ); } #endif