NTSTATUS rename_internals_fsp(connection_struct *conn,
files_struct *fsp,
const struct smb_filename *smb_fname_dst_in,
+ const char *dst_original_lcomp,
uint32_t attrs,
bool replace_if_exists);
NTSTATUS rename_internals(TALLOC_CTX *ctx,
NTSTATUS rename_internals_fsp(connection_struct *conn,
files_struct *fsp,
const struct smb_filename *smb_fname_dst_in,
+ const char *dst_original_lcomp,
uint32_t attrs,
bool replace_if_exists)
{
/*
* Split off the last component of the processed
* destination name. We will compare this to
- * the split components of smb_fname_dst->original_lcomp.
+ * the split components of dst_original_lcomp.
*/
if (!parent_dirname(ctx,
smb_fname_dst->base_name,
}
/*
- * The original_lcomp component contains
+ * The dst_original_lcomp component contains
* the last_component of the path + stream
* name (if a stream exists).
*
if (fsp->posix_flags & FSP_POSIX_FLAGS_PATHNAMES) {
/* POSIX - no stream component. */
orig_lcomp_path = talloc_strdup(ctx,
- smb_fname_dst->original_lcomp);
+ dst_original_lcomp);
if (orig_lcomp_path == NULL) {
ok = false;
}
} else {
ok = split_stream_filename(ctx,
- smb_fname_dst->original_lcomp,
+ dst_original_lcomp,
&orig_lcomp_path,
&orig_lcomp_stream);
}
status = rename_internals_fsp(conn,
fsp,
smb_fname_dst,
+ smb_fname_dst->original_lcomp,
attrs,
replace_if_exists);
status = rename_internals_fsp(conn,
fsp,
smb_fname_dst,
+ smb_fname_dst->original_lcomp,
attrs,
replace_if_exists);
status = rename_internals_fsp(conn,
fsp,
smb_fname_dst,
+ smb_fname_dst->original_lcomp,
(FILE_ATTRIBUTE_HIDDEN|FILE_ATTRIBUTE_SYSTEM),
overwrite);
status = rename_internals_fsp(conn,
fsp,
smb_fname_dst,
+ smb_fname_dst->original_lcomp,
0,
overwrite);
} else {