Andreas Mohr andi@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. Feri.