diff options
Diffstat (limited to 'source/smbd/close.c')
-rw-r--r-- | source/smbd/close.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/source/smbd/close.c b/source/smbd/close.c index 818b4c70a8..3d3c4cf09e 100644 --- a/source/smbd/close.c +++ b/source/smbd/close.c @@ -581,7 +581,7 @@ static NTSTATUS close_normal_file(files_struct *fsp, enum file_close_type close_ } DEBUG(2,("%s closed file %s (numopen=%d) %s\n", - conn->server_info->unix_name,fsp->fsp_name, + conn->user,fsp->fsp_name, conn->num_files_open, nt_errstr(status) )); @@ -703,6 +703,20 @@ static NTSTATUS close_directory(files_struct *fsp, enum file_close_type close_ty } /**************************************************************************** + Close a 'stat file' opened internally. +****************************************************************************/ + +static NTSTATUS close_stat(files_struct *fsp) +{ + /* + * Do the code common to files and directories. + */ + close_filestruct(fsp); + file_free(fsp); + return NT_STATUS_OK; +} + +/**************************************************************************** Close a files_struct. ****************************************************************************/ @@ -713,6 +727,8 @@ NTSTATUS close_file(files_struct *fsp, enum file_close_type close_type) if(fsp->is_directory) { status = close_directory(fsp, close_type); + } else if (fsp->is_stat) { + status = close_stat(fsp); } else if (fsp->fake_file_handle != NULL) { status = close_fake_file(fsp); } else { |