Initial revision
[kopensolaris-gnu/glibc.git] / dirent / tst-seekdir.c
1 #include <stdio.h>
2 #include <dirent.h>
3 #include <stdlib.h>
4
5 int
6 main ()
7 {
8
9   DIR * dirp;
10   long save3;
11   int i = 0;
12   struct dirent *dp;
13
14   dirp = opendir(".");
15   for (dp = readdir(dirp); dp != NULL; dp = readdir(dirp))
16     {
17       /* save position 3 (fourth entry) */
18       if (i++ == 3)
19         save3 = telldir(dirp);
20
21       printf("%s\n", dp->d_name);
22
23       /* stop at 400 (just to make sure dirp->__offset and dirp->__size are
24          scrambled */
25       if (i == 400)
26         break;
27     }
28
29   /* go back to saved entry */
30   seekdir (dirp, save3);
31
32   
33   /* print remaining files (3-last) */
34   for (dp = readdir(dirp); dp != NULL; dp = readdir(dirp))
35     printf("%s\n", dp->d_name);
36
37
38   closedir (dirp);
39   exit(0);
40 }