https://bugs.winehq.org/show_bug.cgi?id=47169
--- Comment #28 from Erich E. Hoover erich.e.hoover@gmail.com --- (In reply to TOM from comment #26)
... More clearly about what data mode belong to which path.
Good call.
I have notice one thing. In lstat Path: '/swap/wine/skyrim/dosdevices/d:/The.Elder.Scrolls.V.Skyrim/Data', Data mode: 120777 in fstat Path: '/swap/wine/skyrim/dosdevices/d:/The.Elder.Scrolls.V.Skyrim/Data', Data mode: 040755
different data mode.
Yes, this is to be expected. The "040" prefix identifies it as a directory, where the "120" prefix identifies symbolic links. Both cases drop into the "grab the inode and do more" codepath (which is good, this is expected).
I would say the next thing to check is what happens here: /* decode symlink type */ fstat( fd->unix_fd, &st ); is_dir = S_ISDIR(st.st_mode); So, after that I would put something like this: if (strstr(fd->unix_name, "The.Elder.Scrolls.V.Skyrim/Data")) { fprintf(stderr, "After Path: '%s', Data mode: %06o\n", fd->unix_name, st.st_mode); }