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