Commit | Line | Data |
---|---|---|
bb0cfa24 DF |
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 | ||
2ce81398 DS |
7 | #if defined(LIBC_SCCS) && !defined(lint) |
8 | static char sccsid[] = "@(#)opendir.c 5.2 (Berkeley) %G%"; | |
9 | #endif LIBC_SCCS and not lint | |
5f4e4c0f | 10 | |
13d423cf | 11 | #include <sys/param.h> |
455b164d | 12 | #include <sys/dir.h> |
5f4e4c0f KM |
13 | |
14 | /* | |
15 | * open a directory. | |
16 | */ | |
17 | DIR * | |
18 | opendir(name) | |
19 | char *name; | |
20 | { | |
79004ddf | 21 | register DIR *dirp; |
5b80a1f6 | 22 | register int fd; |
5f4e4c0f | 23 | |
5b80a1f6 | 24 | if ((fd = open(name, 0)) == -1) |
5f4e4c0f | 25 | return NULL; |
13d423cf | 26 | if ((dirp = (DIR *)malloc(sizeof(DIR))) == NULL) { |
5b80a1f6 | 27 | close (fd); |
79004ddf KM |
28 | return NULL; |
29 | } | |
5b80a1f6 | 30 | dirp->dd_fd = fd; |
5f4e4c0f KM |
31 | dirp->dd_loc = 0; |
32 | return dirp; | |
33 | } |