Looking at Bugzilla bug 446 and the msdn, it would appear (and testing
confirms) that:
rc = SetFileAttributes("fff", FILE_ATTRIBUTE_NORMAL |
FILE_ATTRIBUTE_READONLY );
_is_ valid and sets readonly. In the msdn "However, all other values
override FILE_ATTRIBUTE_NORMAL."
The wine code (files\file.c) prints a fixme if anything is set alongside
attribute_normal:
if (attributes & FILE_ATTRIBUTE_NORMAL) {
attributes &= ~FILE_ATTRIBUTE_NORMAL;
if (attributes)
FIXME("(%s):%lx illegal combination with FILE_ATTRIBUTE_NORMAL.\n",
lpFileName,attributes);
}
I would suggest a trace point rather than a fixme or remove this check
altogether
As to the buffer overflow, the only thought I have is a missing \n on the
end of the error msg:
if (!S_ISDIR(buf.st_mode))
FIXME("SetFileAttributes expected the file '%s' to be a
directory",
lpFileName);
Thoughts?
I can submit a patch for these simple issues, but I cant explain the other
issues (re files expected to be directories)
Regards,
Jason