s3: Remove unix_convert handling from createfile implementations
authorTim Prouty <tprouty@samba.org>
Sat, 6 Jun 2009 03:24:17 +0000 (20:24 -0700)
committerTim Prouty <tprouty@samba.org>
Wed, 10 Jun 2009 20:13:27 +0000 (13:13 -0700)
source3/modules/onefs_open.c
source3/smbd/open.c

index 21c5d51f906fb01a23f5ee15b9f1bf84f3706a5b..4198e5fd566a57faf0de9fa86578e96bdd2b1868 100644 (file)
@@ -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);
index 65a1ded1b889b3284acb247eac6595dce5c2cd2b..773436fa8e39fa843e347f013e33c4abb04a2b29 100644 (file)
@@ -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);