|
|
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 s
Length: 670 (0x29e)
Types: TextFile
Names: »seekdir.c«
└─⟦060c9c824⟧ Bits:30007080 DKUUG TeX 2/12/89
└─⟦this⟧ »./DVIware/laser-setters/umd-dvi/libcompat/seekdir.c«
/*
seekdir -- C library extension routine
last edit: 21-Jan-1984 D A Gwyn
*/
#include <dir.h>
extern long lseek();
#define NULL 0
void
seekdir( dirp, loc )
register DIR *dirp; /* stream from opendir() */
long loc; /* position from telldir() */
{
long base; /* file location of block */
long offset; /* offset within block */
if ( telldir( dirp ) == loc )
return; /* save time */
offset = loc % DIRBLKSIZ;
base = loc - offset;
(void)lseek( dirp->dd_fd, base, 0 ); /* change blocks */
dirp->dd_loc = dirp->dd_size = 0;
while ( dirp->dd_loc < offset ) /* skip entries */
if ( readdir( dirp ) == NULL )
return; /* "can't happen" */
}