return NT_STATUS_OK;
}
-static uint32_t dos_mode_from_name(connection_struct *conn,
- const struct smb_filename *smb_fname,
- uint32_t dosmode)
+static uint32_t
+dos_mode_from_name(connection_struct *conn, const char *name, uint32_t dosmode)
{
const char *p = NULL;
uint32_t result = dosmode;
if (!(result & FILE_ATTRIBUTE_HIDDEN) &&
lp_hide_dot_files(SNUM(conn)))
{
- p = strrchr_m(smb_fname->base_name, '/');
+ p = strrchr_m(name, '/');
if (p) {
p++;
} else {
- p = smb_fname->base_name;
+ p = name;
}
/* Only . and .. are not hidden. */
}
}
- if (!(result & FILE_ATTRIBUTE_HIDDEN) &&
- IS_HIDDEN_PATH(conn, smb_fname->base_name))
- {
+ if (!(result & FILE_ATTRIBUTE_HIDDEN) && IS_HIDDEN_PATH(conn, name)) {
result |= FILE_ATTRIBUTE_HIDDEN;
}
return 0;
}
- result = dos_mode_from_name(conn, smb_fname, result);
+ result = dos_mode_from_name(conn, smb_fname->base_name, result);
result |= dos_mode_from_sbuf(conn, &smb_fname->st, NULL);
if (result == 0) {
}
}
- dosmode |= dos_mode_from_name(fsp->conn, smb_fname, dosmode);
+ dosmode |= dos_mode_from_name(fsp->conn, smb_fname->base_name, dosmode);
if (S_ISDIR(smb_fname->st.st_ex_mode)) {
dosmode |= FILE_ATTRIBUTE_DIRECTORY;