home *** CD-ROM | disk | FTP | other *** search
/ SPACE 2 / SPACE - Library 2 - Volume 1.iso / program / 316 / libsrc / seekdir.c < prev    next >
Encoding:
C/C++ Source or Header  |  1988-10-20  |  846 b   |  41 lines

  1. /*
  2.  *        Cross Development System for Atari ST 
  3.  *     Copyright (c) 1988, Memorial University of Newfoundland
  4.  *
  5.  *  A public domain implementation of BSD directory routines for MS-DOS/atari.
  6.  *  Written by Michael Rendell ({uunet,utai}michael@garfield), August 1897
  7.  *
  8.  * $Header: seekdir.c,v 1.2 88/01/29 18:04:04 m68k Exp $
  9.  *
  10.  * jrd 1.2
  11.  *
  12.  * $Log:    seekdir.c,v $
  13.  * Revision 1.1  88/01/29  18:04:04  m68k
  14.  * Initial revision
  15.  * 
  16.  */
  17.  
  18. #ifdef gem
  19. # include <types.h>
  20. # include <dir.h>
  21. #else /* !gem */
  22. # include <sys/types.h>
  23. # include <sys/dir.h>
  24. #endif    /* gem */
  25.  
  26. void
  27. seekdir(dirp, off)
  28.     DIR    *dirp;
  29.     long    off;
  30. {
  31.     long            i = off;
  32.     struct _dircontents    *dp;
  33.  
  34.     if (off < 0)
  35.         return;
  36.     for (dp = dirp->dd_contents ; --i >= 0 && dp ; dp = dp->_d_next)
  37.         ;
  38.     dirp->dd_loc = off - (i + 1);
  39.     dirp->dd_cp = dp;
  40. }
  41.