|
|
1.1 root 1: /*
2: rewinddir -- rewind a directory stream
3:
4: last edit: 25-Apr-1987 D A Gwyn
5:
6: This is not simply a call to seekdir(), because seekdir()
7: will use the current buffer whenever possible and we need
8: rewinddir() to forget about buffered data.
9: */
10:
11:
12: #include <sys/types.h>
13: #include "dirent.h"
14:
15: #ifdef COHERENT
16: #include <errno.h>
17: #else
18: #include <sys/errno.h>
19: #endif
20:
21: extern int errno;
22:
23: long lseek();
24:
25: #ifndef NULL
26: #define NULL 0
27: #endif
28:
29: #ifndef SEEK_SET
30: #define SEEK_SET 0
31: #endif
32:
33: void
34: rewinddir( dirp )
35: register DIR *dirp; /* stream from opendir() */
36: {
37: if ( dirp == NULL || dirp->dd_buf == NULL )
38: {
39: errno = EFAULT;
40: return; /* invalid pointer */
41: }
42:
43: dirp->dd_loc = dirp->dd_size = 0; /* invalidate buffer */
44: (void)lseek( dirp->dd_fd, (off_t)0, SEEK_SET ); /* may set errno */
45: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.