xref: /csrg-svn/lib/libc/gen/opendir.c (revision 26573)
1 /*
2  * Copyright (c) 1983 Regents of the University of California.
3  * All rights reserved.  The Berkeley software License Agreement
4  * specifies the terms and conditions for redistribution.
5  */
6 
7 #if defined(LIBC_SCCS) && !defined(lint)
8 static char sccsid[] = "@(#)opendir.c	5.2 (Berkeley) 03/09/86";
9 #endif LIBC_SCCS and not lint
10 
11 #include <sys/param.h>
12 #include <sys/dir.h>
13 
14 /*
15  * open a directory.
16  */
17 DIR *
18 opendir(name)
19 	char *name;
20 {
21 	register DIR *dirp;
22 	register int fd;
23 
24 	if ((fd = open(name, 0)) == -1)
25 		return NULL;
26 	if ((dirp = (DIR *)malloc(sizeof(DIR))) == NULL) {
27 		close (fd);
28 		return NULL;
29 	}
30 	dirp->dd_fd = fd;
31 	dirp->dd_loc = 0;
32 	return dirp;
33 }
34