121339Sdist /* 2*63135Sbostic * Copyright (c) 1983, 1993 3*63135Sbostic * Regents of the University of California. All rights reserved. 434790Sbostic * 542620Sbostic * %sccs.include.redist.c% 621339Sdist */ 721339Sdist 826544Sdonn #if defined(LIBC_SCCS) && !defined(lint) 9*63135Sbostic static char sccsid[] = "@(#)closedir.c 8.1 (Berkeley) 06/10/93"; 1034790Sbostic #endif /* LIBC_SCCS and not lint */ 115749Smckusick 1242384Sbostic #include <sys/types.h> 1336545Smckusick #include <dirent.h> 1446597Sdonn #include <stdlib.h> 1546597Sdonn #include <unistd.h> 165749Smckusick 175749Smckusick /* 185749Smckusick * close a directory. 195749Smckusick */ 2046597Sdonn int closedir(dirp)215749Smckusickclosedir(dirp) 226098Smckusic register DIR *dirp; 235749Smckusick { 2442384Sbostic int fd; 2538435Smckusick 2663134Smckusick seekdir(dirp, dirp->dd_rewind); /* free seekdir storage */ 2742384Sbostic fd = dirp->dd_fd; 286098Smckusic dirp->dd_fd = -1; 296098Smckusic dirp->dd_loc = 0; 3042384Sbostic (void)free((void *)dirp->dd_buf); 3142384Sbostic (void)free((void *)dirp); 3242384Sbostic return(close(fd)); 335749Smckusick } 34