https://bugs.winehq.org/show_bug.cgi?id=48083
Bug ID: 48083 Summary: Directory name with dot as a last character Product: Wine Version: 4.16 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: major Priority: P2 Component: shell32 Assignee: wine-bugs@winehq.org Reporter: bi.ja@seznam.cz Distribution: ---
Hi if you create directory name with dot as a last character, wine goes up in directory structure. So if you have c/users/user/Local Settings/Application Data/ČSOB Pojišťovna, a.s. wine goes to c/users/user/Local Settings/Application Data/
I tested it with winefile.
https://bugs.winehq.org/show_bug.cgi?id=48083
Ken Sharp imwellcushtymelike@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|shell32 |-unknown Keywords| |download, source Status|UNCONFIRMED |NEW CC| |imwellcushtymelike@gmail.co | |m Severity|major |normal Ever confirmed|0 |1
--- Comment #1 from Ken Sharp imwellcushtymelike@gmail.com --- Confirming, though it's a little stanger than that, for me anyway.
When entering '/tmp/test.' in winefile it shows the contents of /tmp EXCEPT for other directories.
In cmd:
Z:\tmp\test>dir
Directory of Z:\tmp\test
12/11/2019 19:28 <DIR> . 12/11/2019 19:28 <DIR> .. 12/11/2019 19:28 <DIR> test2 12/11/2019 19:28 <DIR> test3.
Z:\tmp\test>dir test2
Directory of Z:\tmp\test\test2
12/11/2019 19:28 <DIR> . 12/11/2019 19:28 <DIR> ..
Z:\tmp\test>dir test3.
Directory of Z:\tmp\test
File not found.
And 'mkdir test4.'
Z:\tmp\test>mkdir test4.
Z:\tmp\test>dir
Directory of Z:\tmp\test
12/11/2019 19:30 <DIR> . 12/11/2019 19:28 <DIR> .. 12/11/2019 19:28 <DIR> test2 12/11/2019 19:28 <DIR> test3. 12/11/2019 19:30 <DIR> test4
(I've snipped out some of the noise)
Not major (until proven that it is).
Wine 4.19
https://bugs.winehq.org/show_bug.cgi?id=48083
Ken Sharp imwellcushtymelike@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Directory name with dot as |wine incorrectly navigates |a last character |directories with a stop (.) | |as the last character
https://bugs.winehq.org/show_bug.cgi?id=48083
--- Comment #2 from Ken Sharp imwellcushtymelike@gmail.com --- No change in Wine 7.9
http://bugs.winehq.org/show_bug.cgi?id=48083
--- Comment #3 from Ken Sharp imwellcushtymelike@gmail.com --- No change in Wine 10.9
012c:trace:file:RtlGetFullPathName_U (L"Z:\tmp\wine\test.\*" 520 006AD75C 006ADA04) 012c:trace:file:RtlGetFullPathName_UEx (L"Z:\tmp\wine\test.\*" 520 006AD75C 006ADA04 00000000) 012c:Ret ntdll.RtlDosPathNameToNtPathName_U() retval=00000001 ret=7b5fbbf7 012c:Call ntdll.wcspbrk(00705b22 L"*",7b67195c L"*?<>") ret=7b5fbc3a 012c:Ret ntdll.wcspbrk() retval=00705b22 ret=7b5fbc3a 012c:trace:path:PathFindFileNameW L"Z:\tmp\wine\test.\*"
PathFindFileNameW doesn't seem to do anything with . so surely this should be passed along untouched?
012c:Call ntdll.RtlAllocateHeap(00240000,00000000,00002040) ret=7b5fbca2 012c:Ret ntdll.RtlAllocateHeap() retval=0070bd88 ret=7b5fbca2 012c:Call ntdll.NtOpenFile(0070bd8c,00100001,006ada20,006ada10,00000003,00004021) ret=7b5fbd44
But the . disappears
012c:trace:file:NtCreateFile handle=0x70bd8c access=00100001 name=L"\??\Z:\tmp\wine\test\" objattr=00000040 root=(nil) sec=(nil) io=0x6ada10 alloc_size=(nil) attr=00000000 sharing=00000003 disp=1 options=00004021 ea=(nil).0x00000000 012c:trace:file:nt_to_unix_file_name_no_root L"tmp\wine\test\*" not found in "/tmp/wine/wineprefix/dosdevices/z:" 012c:warn:file:NtCreateFile L"\??\Z:\tmp\wine\test\" not found (c0000034) 012c:Ret ntdll.NtOpenFile() retval=c0000034 ret=7b5fbd44
So file not found.
http://bugs.winehq.org/show_bug.cgi?id=48083
--- Comment #4 from Ken Sharp imwellcushtymelike@gmail.com --- Okay, this is the correct behaviour and mirrors what Windows 10 does. So do we want special handling for non-Windows filenames?
In Windows 10 "test.", "test..", "test...", and so on all become "test". It's not possible to make a filename that ends with a stop.
http://bugs.winehq.org/show_bug.cgi?id=48083
Ken Sharp imwellcushtymelike@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |enhancement
http://bugs.winehq.org/show_bug.cgi?id=48083
--- Comment #5 from Ken Sharp imwellcushtymelike@gmail.com --- Things are fine with similar characters (U+FE52, U+FF0E) but that's to be expected.
http://bugs.winehq.org/show_bug.cgi?id=48083
Ken Sharp imwellcushtymelike@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|wine incorrectly navigates |Wine cannot navigate |directories with a stop (.) |directories with restricted |as the last character |characters \ : * ? < > |
--- Comment #6 from Ken Sharp imwellcushtymelike@gmail.com --- There is a bug in winefile though. 'testß' (ending with an Eszett) creates some weirdness that doesn't occur with winecmd, but that should be opened as a separate bug.
http://bugs.winehq.org/show_bug.cgi?id=48083
Ken Sharp imwellcushtymelike@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |NEEDINFO
--- Comment #7 from Ken Sharp imwellcushtymelike@gmail.com ---
if you have c/users/user/Local Settings/Application Data/ČSOB Pojišťovna, a.s.
Jan, do you such a directory in Windows? Which version of Windows?