https://bugs.winehq.org/show_bug.cgi?id=51059
--- Comment #4 from Erich E. Hoover erich.e.hoover@gmail.com --- (In reply to Erich E. Hoover from comment #3)
(In reply to Jinoh Kang from comment #2)
(In reply to Erich E. Hoover from comment #1)
You are correct that O_SYMLINK is not identical to (O_NOFOLLOW | O_PATH), but I did some testing of this some time ago and the differences don't really matter for implementing FILE_OPEN_REPARSE_POINT.
... Or Is it so? I actually based my claim of this behavior being a bug based on Microsoft Docs on CreateFileW:
It's entirely possible my original test was flawed or I misinterpreted it, so I'll double check. I would have put the symlink test next to the real file test, so it's entirely possible that I misread the results. As you have pointed out, it is very easy to fix if that's the case.
Looks like my original test was a mistake, I retested with FILE_OPEN_REPARSE_POINT on a regular file and the file behaved normally. I'll try to put together an update with this and some other fixes as soon as I can.