summaryrefslogtreecommitdiff
path: root/source3/modules/vfs_media_harmony.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/modules/vfs_media_harmony.c')
-rw-r--r--source3/modules/vfs_media_harmony.c26
1 files changed, 11 insertions, 15 deletions
diff --git a/source3/modules/vfs_media_harmony.c b/source3/modules/vfs_media_harmony.c
index cad3d9fcfe8..6915fb0e21e 100644
--- a/source3/modules/vfs_media_harmony.c
+++ b/source3/modules/vfs_media_harmony.c
@@ -2138,36 +2138,32 @@ out:
* In this case, "name" is a path.
*/
static int mh_sys_acl_set_file(vfs_handle_struct *handle,
- const char *name,
+ const struct smb_filename *smb_fname,
SMB_ACL_TYPE_T acltype,
SMB_ACL_T theacl)
{
int status;
- char *clientPath;
- TALLOC_CTX *ctx;
+ struct smb_filename *clientFname = NULL;
DEBUG(MH_INFO_DEBUG, ("Entering mh_sys_acl_set_file\n"));
- if (!is_in_media_files(name))
- {
- status = SMB_VFS_NEXT_SYS_ACL_SET_FILE(handle, name,
+ if (!is_in_media_files(smb_fname->base_name)) {
+ status = SMB_VFS_NEXT_SYS_ACL_SET_FILE(handle, smb_fname,
acltype, theacl);
goto out;
}
- clientPath = NULL;
- ctx = talloc_tos();
-
- if ((status = alloc_get_client_path(handle, ctx,
- name,
- &clientPath)))
- {
+ status = alloc_get_client_smb_fname(handle,
+ talloc_tos(),
+ smb_fname,
+ &clientFname);
+ if (status != 0) {
goto err;
}
- status = SMB_VFS_NEXT_SYS_ACL_SET_FILE(handle, clientPath,
+ status = SMB_VFS_NEXT_SYS_ACL_SET_FILE(handle, clientFname,
acltype, theacl);
err:
- TALLOC_FREE(clientPath);
+ TALLOC_FREE(clientFname);
out:
return status;
}