https://bugs.winehq.org/show_bug.cgi?id=47169
--- Comment #26 from TOM l12436@yahoo.com.tw --- Created attachment 64532 --> https://bugs.winehq.org/attachment.cgi?id=64532 stdout of that game with modified fprintf.
I change you code to.
if (strstr(fd->unix_name, "The.Elder.Scrolls.V.Skyrim/Data")) { fprintf(stderr, "Path: '%s', Data mode: %06o\n", fd->unix_name, st.st_mode); }
More clearly about what data mode belong to which path.
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.