msdos/int21 CREAT special cases
wferi at tba.elte.hu
Wed May 28 05:26:00 CDT 2003
Andreas Mohr <andi at rhlx01.fht-esslingen.de> writes:
> On Mon, May 26, 2003 at 01:04:49PM +0200, Ferenc Wagner wrote:
>> Volume label creation should fail, not create a regular file.
>> Similarly for file names ending in a slash.
> Hmm, and is there a reason to not do it in _lcreat16() instead?
> Or is _lcreat16() really "clever" enough to handle volume labels
> "properly" if called directly?
> Somehow I doubt it... ;)
> Or in fact you could walk further up the chain and maybe find that even
> _lcreat() should be the function to have that check instead...
> (or, for that matter, even CreateFileA and thus CreateFileW...)
Yes, this would be reasonable. This was Duane's original
idea, actually (part of the code is from him). However, the
tests I submitted some days ago into the kernel32 file tests
show that _lcreat() actually behaves the same in Wine and
Windows: masks off the not allowed flag bits and does not
care about trailing slashes. On NT4 at least. Since I have
no access to recent conformance testing results on different
versions, I went with what I had. I did not test CreateFile
or _lcreat16(), though.
More information about the wine-devel