From 2481d8dcd03dfb4dbde50aebdbf3c33565cab429 Mon Sep 17 00:00:00 2001 From: Tim Prouty Date: Fri, 5 Jun 2009 20:24:17 -0700 Subject: [PATCH] s3: Remove unix_convert handling from createfile implementations --- source3/modules/onefs_open.c | 34 ++++------------------------------ source3/smbd/open.c | 33 ++++----------------------------- 2 files changed, 8 insertions(+), 59 deletions(-) diff --git a/source3/modules/onefs_open.c b/source3/modules/onefs_open.c index 21c5d51f906f..4198e5fd566a 100644 --- a/source3/modules/onefs_open.c +++ b/source3/modules/onefs_open.c @@ -2056,38 +2056,12 @@ NTSTATUS onefs_create_file(vfs_handle_struct *handle, case_state = set_posix_case_semantics(talloc_tos(), conn); } - /* Convert dos path to unix path if it hasn't already been done. */ - if (create_file_flags & CFF_DOS_PATH) { - struct smb_filename *smb_fname = NULL; - char *converted_fname; - - SET_STAT_INVALID(sbuf); - - status = unix_convert(talloc_tos(), conn, fname, &smb_fname, - 0); - if (!NT_STATUS_IS_OK(status)) { - goto fail; - } - - status = get_full_smb_filename(talloc_tos(), smb_fname, - &converted_fname); - if (!NT_STATUS_IS_OK(status)) { - TALLOC_FREE(smb_fname); - goto fail; - } - - sbuf = smb_fname->st; - fname = converted_fname; - TALLOC_FREE(smb_fname); + if (psbuf != NULL) { + sbuf = *psbuf; } else { - if (psbuf != NULL) { - sbuf = *psbuf; - } else { - if (SMB_VFS_STAT(conn, fname, &sbuf) == -1) { - SET_STAT_INVALID(sbuf); - } + if (SMB_VFS_STAT(conn, fname, &sbuf) == -1) { + SET_STAT_INVALID(sbuf); } - } TALLOC_FREE(case_state); diff --git a/source3/smbd/open.c b/source3/smbd/open.c index 65a1ded1b889..773436fa8e39 100644 --- a/source3/smbd/open.c +++ b/source3/smbd/open.c @@ -3438,37 +3438,12 @@ NTSTATUS create_file_default(connection_struct *conn, case_state = set_posix_case_semantics(talloc_tos(), conn); } - if (create_file_flags & CFF_DOS_PATH) { - struct smb_filename *smb_fname = NULL; - char *converted_fname; - - SET_STAT_INVALID(sbuf); - - status = unix_convert(talloc_tos(), conn, fname, &smb_fname, - 0); - if (!NT_STATUS_IS_OK(status)) { - goto fail; - } - - status = get_full_smb_filename(talloc_tos(), smb_fname, - &converted_fname); - if (!NT_STATUS_IS_OK(status)) { - TALLOC_FREE(smb_fname); - goto fail; - } - - sbuf = smb_fname->st; - fname = converted_fname; - TALLOC_FREE(smb_fname); + if (psbuf != NULL) { + sbuf = *psbuf; } else { - if (psbuf != NULL) { - sbuf = *psbuf; - } else { - if (SMB_VFS_STAT(conn, fname, &sbuf) == -1) { - SET_STAT_INVALID(sbuf); - } + if (SMB_VFS_STAT(conn, fname, &sbuf) == -1) { + SET_STAT_INVALID(sbuf); } - } TALLOC_FREE(case_state); -- 2.34.1