* Success: return 0
* Failure: set errno, return -1
*/
-static int mh_rename(vfs_handle_struct *handle,
- const struct smb_filename *smb_fname_src,
- const struct smb_filename *smb_fname_dst)
-{
- int status;
- struct smb_filename *srcClientFname;
- struct smb_filename *dstClientFname;
- TALLOC_CTX *ctx;
-
-
- DEBUG(MH_INFO_DEBUG, ("Entering with "
- "smb_fname_src->base_name '%s', "
- "smb_fname_dst->base_name '%s'\n",
- smb_fname_src->base_name,
- smb_fname_dst->base_name));
-
- if (!is_in_media_files(smb_fname_src->base_name)
- &&
- !is_in_media_files(smb_fname_dst->base_name))
- {
- status = SMB_VFS_NEXT_RENAME(handle, smb_fname_src,
- smb_fname_dst);
- goto out;
- }
-
- srcClientFname = NULL;
- dstClientFname = NULL;
- ctx = talloc_tos();
-
- if ((status = alloc_get_client_smb_fname(handle, ctx,
- smb_fname_src,
- &srcClientFname)))
- {
- goto err;
- }
-
- if ((status = alloc_get_client_smb_fname(handle, ctx,
- smb_fname_dst,
- &dstClientFname)))
- {
- goto err;
- }
-
- status = SMB_VFS_NEXT_RENAME(handle, srcClientFname,
- dstClientFname);
-err:
- TALLOC_FREE(dstClientFname);
- TALLOC_FREE(srcClientFname);
-out:
- DEBUG(MH_INFO_DEBUG, ("Leaving with smb_fname_src->base_name '%s',"
- " smb_fname_dst->base_name '%s'\n",
- smb_fname_src->base_name,
- smb_fname_dst->base_name));
- return status;
-}
-
static int mh_renameat(vfs_handle_struct *handle,
files_struct *srcfsp,
const struct smb_filename *smb_fname_src,
.open_fn = mh_open,
.create_file_fn = mh_create_file,
- .rename_fn = mh_rename,
.renameat_fn = mh_renameat,
.stat_fn = mh_stat,
.lstat_fn = mh_lstat,