Commit | Line | Data |
---|---|---|
5f4e4c0f KM |
1 | /* Copyright (c) 1982 Regents of the University of California */ |
2 | ||
e804469b | 3 | static char sccsid[] = "@(#)opendir.c 4.4 11/12/82"; |
5f4e4c0f | 4 | |
e804469b | 5 | #include <sys/types.h> |
13d423cf | 6 | #include <dir.h> |
5f4e4c0f KM |
7 | |
8 | /* | |
9 | * open a directory. | |
10 | */ | |
11 | DIR * | |
12 | opendir(name) | |
13 | char *name; | |
14 | { | |
79004ddf | 15 | register DIR *dirp; |
5b80a1f6 | 16 | register int fd; |
5f4e4c0f | 17 | |
5b80a1f6 | 18 | if ((fd = open(name, 0)) == -1) |
5f4e4c0f | 19 | return NULL; |
13d423cf | 20 | if ((dirp = (DIR *)malloc(sizeof(DIR))) == NULL) { |
5b80a1f6 | 21 | close (fd); |
79004ddf KM |
22 | return NULL; |
23 | } | |
5b80a1f6 | 24 | dirp->dd_fd = fd; |
5f4e4c0f KM |
25 | dirp->dd_loc = 0; |
26 | return dirp; | |
27 | } |