1: static char sccsid[] = "@(#)opendir.c 4.3 8/4/82";
2:
3: #include <sys/types.h>
4: #include <sys/stat.h>
5: #include <ndir.h>
6:
7: /*
8: * open a directory.
9: */
10: DIR *
11: opendir(name)
12: char *name;
13: {
14: register DIR *dirp;
15: register int fd;
16: struct stat sbuf;
17:
18: if ((fd = open(name, 0)) == -1)
19: return NULL;
20: fstat(fd, &sbuf);
21: if (((sbuf.st_mode & S_IFDIR) == 0) ||
22: ((dirp = (DIR *)malloc(sizeof(DIR))) == NULL)) {
23: close (fd);
24: return NULL;
25: }
26: dirp->dd_fd = fd;
27: dirp->dd_loc = 0;
28: return dirp;
29: }
Defined functions
Defined variables
sccsid
defined in line
1;
never used