diff options
author | Jeremy Allison <jra@samba.org> | 2013-04-10 16:29:03 -0700 |
---|---|---|
committer | Andreas Schneider <asn@samba.org> | 2013-04-12 14:33:40 +0200 |
commit | 0fe894fb89f4867e266bb04670a58101311e0234 (patch) | |
tree | 3c418c7a4f4d312717496dbb7c6f311f34d1d7c1 | |
parent | ea14c9443178da9ae6ccbe71e573156396f6f699 (diff) | |
download | samba-0fe894fb89f4867e266bb04670a58101311e0234.tar.gz samba-0fe894fb89f4867e266bb04670a58101311e0234.tar.bz2 samba-0fe894fb89f4867e266bb04670a58101311e0234.zip |
Remove the "Ugly hack" that was the second use of dirfd().
The destructor does all the resource deallocation needed.
Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
-rw-r--r-- | source3/smbd/dir.c | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/source3/smbd/dir.c b/source3/smbd/dir.c index 7bca6bfd3d..00c33d6ec2 100644 --- a/source3/smbd/dir.c +++ b/source3/smbd/dir.c @@ -679,20 +679,12 @@ done: void dptr_CloseDir(files_struct *fsp) { if (fsp->dptr) { -/* - * Ugly hack. We have defined fdopendir to return ENOSYS if dirfd also isn't - * present. I hate Solaris. JRA. - */ -#ifdef HAVE_DIRFD - if (fsp->fh->fd != -1 && - fsp->dptr->dir_hnd && - dirfd(fsp->dptr->dir_hnd->dir)) { - /* The call below closes the underlying fd. */ - fsp->fh->fd = -1; - } -#endif + /* + * The destructor for the struct smb_Dir + * (fsp->dptr->dir_hnd) now handles + * all resource deallocation. + */ dptr_close_internal(fsp->dptr); - fsp->dptr = NULL; } } |