1: static char sccsid[] = "@(#)seekdir.c 4.6 9/12/82";
   2: 
   3: #include <sys/param.h>
   4: #include <ndir.h>
   5: 
   6: /*
   7:  * seek to an entry in a directory.
   8:  * Only values returned by "telldir" should be passed to seekdir.
   9:  */
  10: void
  11: seekdir(dirp, loc)
  12:     register DIR *dirp;
  13:     long loc;
  14: {
  15:     long base, offset;
  16:     struct direct *dp;
  17: 
  18: /* rti!trt: Always seek.  Slower, but safer. This may even fix a bug.
  19: 	if (loc == telldir(dirp))
  20: 		return;
  21:  */
  22:     base = loc & ~(DIRBLKSIZ - 1);
  23:     offset = loc & (DIRBLKSIZ - 1);
  24:     lseek(dirp->dd_fd, base, 0);
  25:     dirp->dd_loc = 0;
  26:     while (dirp->dd_loc < offset) {
  27:         dp = readdir(dirp);
  28:         if (dp == NULL)
  29:             return;
  30:     }
  31: }

Defined functions

seekdir defined in line 10; used 2 times

Defined variables

sccsid defined in line 1; never used
Last modified: 1986-01-11
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 761
Valid CSS Valid XHTML 1.0 Strict