s3/smbd: move check for "hide files" to dos_mode_from_name()
authorRalph Boehme <slow@samba.org>
Thu, 23 Jun 2016 15:14:55 +0000 (17:14 +0200)
committerRalph Boehme <slow@samba.org>
Thu, 23 Jun 2016 17:18:46 +0000 (19:18 +0200)
Consolidate the "hide dot files" and "hide files" handling stuff in one
function. No change in overall behaviour.

Bug: https://bugzilla.samba.org/show_bug.cgi?id=11992

Signed-off-by: Ralph Boehme <slow@samba.org>
source3/smbd/dosmode.c

index f59ed79d3f81b03da293cb2a7b056db5b2b0267b..ef880e5100571ff280006437205de46915a3efd9 100644 (file)
@@ -587,6 +587,12 @@ static uint32_t dos_mode_from_name(connection_struct *conn,
                }
        }
 
+       if (!(result & FILE_ATTRIBUTE_HIDDEN) &&
+           IS_HIDDEN_PATH(conn, smb_fname->base_name))
+       {
+               result |= FILE_ATTRIBUTE_HIDDEN;
+       }
+
        return result;
 }
 
@@ -630,13 +636,6 @@ uint32_t dos_mode(connection_struct *conn, struct smb_filename *smb_fname)
 
        result |= dos_mode_from_name(conn, smb_fname, result);
 
-       /* Optimization : Only call is_hidden_path if it's not already
-          hidden. */
-       if (!(result & FILE_ATTRIBUTE_HIDDEN) &&
-           IS_HIDDEN_PATH(conn, smb_fname->base_name)) {
-               result |= FILE_ATTRIBUTE_HIDDEN;
-       }
-
        if (result == 0) {
                result = FILE_ATTRIBUTE_NORMAL;
        }