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;
+ if (!(dosmode & FILE_ATTRIBUTE_REPARSE_POINT)) {
+ dosmode |= FILE_ATTRIBUTE_DIRECTORY;
+ }
} else if (dosmode == 0) {
dosmode = FILE_ATTRIBUTE_NORMAL;
}
* Everybody else wants to see symlinks as
* reparse points
*/
- result = FILE_ATTRIBUTE_NORMAL |
- FILE_ATTRIBUTE_REPARSE_POINT;
+ result = FILE_ATTRIBUTE_REPARSE_POINT;
}
break;
default:
- return FILE_ATTRIBUTE_NORMAL|FILE_ATTRIBUTE_REPARSE_POINT;
+ return FILE_ATTRIBUTE_REPARSE_POINT;
break;
}