[Bug 20720] winebrowser fails when # is in the file name
wine-bugs at winehq.org
wine-bugs at winehq.org
Thu Oct 7 12:24:53 CDT 2010
http://bugs.winehq.org/show_bug.cgi?id=20720
Jörg Höhle <hoehle at users.sourceforge.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |hoehle at users.sourceforge.ne
| |t
--- Comment #16 from Jörg Höhle <hoehle at users.sourceforge.net> 2010-10-07 12:24:52 CDT ---
There are 2 issues.
A) C:\... is sometimes passed to the external program, sometimes not
trace:winebrowser:launch_app argv[1]: "C:\\test#.pdf"
trace:winebrowser:launch_app argv[1]: "C:\\test#2.pdf"
trace:winebrowser:launch_app argv[1]:
"file:///Users/admin/.wine/dosdevices/c:/test.pdf"
trace:winebrowser:launch_app argv[1]:
"file:///Users/admin/.wine/dosdevices/c:/#test.pdf"
The later shows that a non-escaped URL is passed to the external program.
B) Appropriate escaping is needed with /usr/bin/open
- file:///Users/... -- URLs need % escapes
- /Users/... wants the literal name.
$ open "/Users/admin/.wine/dosdevices/c:/%74est.pdf"
The file /Users/admin/.wine/dosdevices/c:/%74est.pdf does not exist.
$ open "file:///Users/admin/.wine/dosdevices/c:/%74est.pdf" works.
%4 translates to t, %23 to #.
$ open "file:///Users/admin/.wine/dosdevices/c:/test%23.pdf" works.
$ open "file:////Users/admin/.wine/dosdevices/c:/test#.pdf"
The file //Users/admin/.wine/dosdevices/c:/test does not exist.
open rightfully complains about "test", not "test#.pdf".
The section after # is cut-off, which is understandable, because
the # separates URI from fragment identifier, see RFC2396 or 1738.
Every browser implements this since 1992.
/usr/bin/open "file:///path.../#..." will see a directory URL and open a file
browser, no surprise.
test¿.pdf and test€.pdf work for me in MacOSX 10.5.8 with Wine-1.3.4
trace:winebrowser:launch_app argv[1]:
"file:///Users/admin/.wine/dosdevices/c:/test\xc2\xbf.pdf"
trace:winebrowser:launch_app argv[1]:
"file:///Users/admin/.wine/dosdevices/c:/test\xe2\x82\xac.pdf"
test% .pdf and test %.pdf also work, even though the URL constructed is
incorrect:
trace:winebrowser:launch_app argv[1]:
"file:///Users/admin/.wine/dosdevices/c:/test% .pdf"
trace:winebrowser:launch_app argv[1]:
"file:///Users/admin/.wine/dosdevices/c:/test %.pdf"
The component at fault is programs - winebrowser/main.c:/wmain
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
More information about the wine-bugs
mailing list