summaryrefslogtreecommitdiff
path: root/source3/smbd/dosmode.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2009-03-31 13:59:56 +1100
committerAndrew Tridgell <tridge@samba.org>2009-03-31 13:59:56 +1100
commit046b7a35bed76f5d92a1e5f658478e25ffadf9ac (patch)
tree1500a19e70a4f90b5c3057d753aa1ae0a6e04788 /source3/smbd/dosmode.c
parent84547b8dba3c0cf4e20b3c50d9386081d475df6b (diff)
parent9be2e2fdce9f0823f428afd492c066eb5e097f59 (diff)
downloadsamba-046b7a35bed76f5d92a1e5f658478e25ffadf9ac.tar.gz
samba-046b7a35bed76f5d92a1e5f658478e25ffadf9ac.tar.bz2
samba-046b7a35bed76f5d92a1e5f658478e25ffadf9ac.zip
Merge branch 'master' of ssh://git.samba.org/data/git/samba
Diffstat (limited to 'source3/smbd/dosmode.c')
-rw-r--r--source3/smbd/dosmode.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/source3/smbd/dosmode.c b/source3/smbd/dosmode.c
index 555718bd83..5ae7151303 100644
--- a/source3/smbd/dosmode.c
+++ b/source3/smbd/dosmode.c
@@ -325,8 +325,10 @@ uint32 dos_mode_msdfs(connection_struct *conn, const char *path,SMB_STRUCT_STAT
} else {
p = path;
}
-
- if (p[0] == '.' && p[1] != '.' && p[1] != 0) {
+
+ /* Only . and .. are not hidden. */
+ if (p[0] == '.' && !((p[1] == '\0') ||
+ (p[1] == '.' && p[2] == '\0'))) {
result |= aHIDDEN;
}
}
@@ -484,8 +486,10 @@ uint32 dos_mode(connection_struct *conn, const char *path,SMB_STRUCT_STAT *sbuf)
} else {
p = path;
}
-
- if (p[0] == '.' && p[1] != '.' && p[1] != 0) {
+
+ /* Only . and .. are not hidden. */
+ if (p[0] == '.' && !((p[1] == '\0') ||
+ (p[1] == '.' && p[2] == '\0'))) {
result |= aHIDDEN;
}
}