Put posix semantic calculation in the same place in both routines
authorVolker Lendecke <vl@sernet.de>
Sat, 1 Dec 2007 13:55:56 +0000 (14:55 +0100)
committerVolker Lendecke <vl@sernet.de>
Wed, 5 Dec 2007 12:45:11 +0000 (13:45 +0100)
source/smbd/nttrans.c

index aaf4a408e6b9aa61d50ca40e329bb8f612e076d5..9e6b933b645e3b41a546e7432cf25d168dd5ff25 100644 (file)
@@ -1467,15 +1467,6 @@ static void call_nt_transact_create(connection_struct *conn,
         * Ordinary file or directory.
         */
 
-       /*
-        * Check if POSIX semantics are wanted.
-        */
-
-       if (file_attributes & FILE_FLAG_POSIX_SEMANTICS) {
-               case_state = set_posix_case_semantics(NULL, conn);
-               file_attributes &= ~FILE_FLAG_POSIX_SEMANTICS;
-       }
-
        status = resolve_dfspath(ctx, conn,
                                req->flags2 & FLAGS2_DFS_PATHNAMES,
                                fname,
@@ -1491,6 +1482,15 @@ static void call_nt_transact_create(connection_struct *conn,
                return;
        }
 
+       /*
+        * Check if POSIX semantics are wanted.
+        */
+
+       if (file_attributes & FILE_FLAG_POSIX_SEMANTICS) {
+               case_state = set_posix_case_semantics(NULL, conn);
+               file_attributes &= ~FILE_FLAG_POSIX_SEMANTICS;
+       }
+
        status = unix_convert(ctx, conn, fname, False, &fname, NULL, &sbuf);
        if (!NT_STATUS_IS_OK(status)) {
                TALLOC_FREE(case_state);