/*
 * $Copyright:	$
 * Copyright (c) 1984, 1985, 1986, 1987, 1988, 1989, 1990 
 * Sequent Computer Systems, Inc.   All rights reserved.
 *  
 * This software is furnished under a license and may be used
 * only in accordance with the terms of that license and with the
 * inclusion of the above copyright notice.   This software may not
 * be provided or otherwise made available to, or used by, any
 * other person.  No title to or ownership of the software is
 * hereby transferred."
 *
 */
/*	Copyright (c) 1984 AT&T	*/
/*	  All Rights Reserved  	*/

/*	THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T	*/
/*	The copyright notice above does not evidence any   	*/
/*	actual or intended publication of such source code.	*/

#ident	"@(#)libc-port:gen/closedir.c	1.4"
/*
	closedir -- C library extension routine

*/

#include	<sys/types.h>
#include	<dirent.h>


extern void	free();
extern int	close();

int
closedir( dirp )
register DIR	*dirp;		/* stream from opendir() */
{
	int	ret_val;
	/*
	 * Just in case readir is called with this "dirp" mark the
	 * discriptor as needing a refill to force an error from getdents().
	 * Note that the structured would have been free()'ed and so could
	 * reused.
	 */
	dirp->dd_loc = dirp->dd_size = 0;
	ret_val = close( dirp->dd_fd );
	dirp->dd_fd = -1;
	free( dirp->dd_buf );
	free( (char *)dirp );
	return( ret_val );
}
