Commit | Line | Data |
---|---|---|
bb0cfa24 DF |
1 | /* |
2 | * Copyright (c) 1983 Regents of the University of California. | |
d99e6414 KB |
3 | * All rights reserved. |
4 | * | |
269a7923 | 5 | * %sccs.include.redist.c% |
bb0cfa24 DF |
6 | */ |
7 | ||
2ce81398 | 8 | #if defined(LIBC_SCCS) && !defined(lint) |
c5980113 | 9 | static char sccsid[] = "@(#)closedir.c 5.9 (Berkeley) %G%"; |
d99e6414 | 10 | #endif /* LIBC_SCCS and not lint */ |
4ddae876 | 11 | |
b5870130 | 12 | #include <sys/types.h> |
8c6e64bc | 13 | #include <dirent.h> |
c5980113 DS |
14 | #include <stdlib.h> |
15 | #include <unistd.h> | |
4ddae876 KM |
16 | |
17 | /* | |
18 | * close a directory. | |
19 | */ | |
c5980113 | 20 | int |
4ddae876 | 21 | closedir(dirp) |
b21c6bbd | 22 | register DIR *dirp; |
4ddae876 | 23 | { |
b5870130 | 24 | int fd; |
d46abbe3 | 25 | |
b5870130 | 26 | fd = dirp->dd_fd; |
b21c6bbd KM |
27 | dirp->dd_fd = -1; |
28 | dirp->dd_loc = 0; | |
b5870130 KB |
29 | (void)free((void *)dirp->dd_buf); |
30 | (void)free((void *)dirp); | |
31 | return(close(fd)); | |
4ddae876 | 32 | } |