Implement fdclosedir(3) function, which is equivalent to the closedir(3)
function, but returns directory file descriptor instead of closing it. Submitted by: Mariusz Zaborski <oshogbo@FreeBSD.org> Sponsored by: Google Summer of Code 2013
This commit is contained in:
parent
ab20de7f07
commit
b717fb9f08
@ -79,6 +79,7 @@ int dirfd(DIR *);
|
||||
#endif
|
||||
#if __BSD_VISIBLE
|
||||
DIR *__opendir2(const char *, int);
|
||||
int fdclosedir(DIR *);
|
||||
int getdents(int, char *, int);
|
||||
int getdirentries(int, char *, int, long *);
|
||||
#endif
|
||||
|
@ -384,6 +384,7 @@ FBSD_1.3 {
|
||||
clock_getcpuclockid;
|
||||
dirfd;
|
||||
dup3;
|
||||
fdclosedir;
|
||||
fdlopen;
|
||||
__FreeBSD_libc_enter_restricted_mode;
|
||||
getcontextx;
|
||||
|
@ -49,7 +49,7 @@ __FBSDID("$FreeBSD$");
|
||||
* close a directory.
|
||||
*/
|
||||
int
|
||||
closedir(DIR *dirp)
|
||||
fdclosedir(DIR *dirp)
|
||||
{
|
||||
int fd;
|
||||
|
||||
@ -65,5 +65,12 @@ closedir(DIR *dirp)
|
||||
_pthread_mutex_destroy(&dirp->dd_lock);
|
||||
}
|
||||
free((void *)dirp);
|
||||
return(_close(fd));
|
||||
return (fd);
|
||||
}
|
||||
|
||||
int
|
||||
closedir(DIR *dirp)
|
||||
{
|
||||
|
||||
return (_close(fdclosedir(dirp)));
|
||||
}
|
||||
|
@ -28,7 +28,7 @@
|
||||
.\" @(#)directory.3 8.1 (Berkeley) 6/4/93
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd July 5, 2012
|
||||
.Dd August 18, 2013
|
||||
.Dt DIRECTORY 3
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -40,6 +40,7 @@
|
||||
.Nm seekdir ,
|
||||
.Nm rewinddir ,
|
||||
.Nm closedir ,
|
||||
.Nm fdclosedir ,
|
||||
.Nm dirfd
|
||||
.Nd directory operations
|
||||
.Sh LIBRARY
|
||||
@ -64,6 +65,8 @@
|
||||
.Ft int
|
||||
.Fn closedir "DIR *dirp"
|
||||
.Ft int
|
||||
.Fn fdclosedir "DIR *dirp"
|
||||
.Ft int
|
||||
.Fn dirfd "DIR *dirp"
|
||||
.Sh DESCRIPTION
|
||||
The
|
||||
@ -208,6 +211,13 @@ On failure, \-1 is returned and the global variable
|
||||
is set to indicate the error.
|
||||
.Pp
|
||||
The
|
||||
.Fn fdclosedir
|
||||
function is equivalent to the
|
||||
.Fn closedir
|
||||
function except that this function returns directory file descriptor instead of
|
||||
closing it.
|
||||
.Pp
|
||||
The
|
||||
.Fn dirfd
|
||||
function
|
||||
returns the integer file descriptor associated with the named
|
||||
@ -252,6 +262,9 @@ The
|
||||
.Fn fdopendir
|
||||
function appeared in
|
||||
.Fx 8.0 .
|
||||
.Fn fdclosedir
|
||||
function appeared in
|
||||
.Fx 10.0 .
|
||||
.Sh BUGS
|
||||
The invalidation of
|
||||
.Fn telldir
|
||||
|
Loading…
Reference in New Issue
Block a user