Closed johannes-mueller closed 7 years ago
Awesome, thanks.
The fix needed cleanup, so I cherry-picked and revised that commit. I dropped the test one and cleaned up the previous mess that was there to more rigorously test round-ripping of paths with escapes with far less code.
Release time. Can you confirm the latest version fixes the visible issue in Ardour? @johannes-mueller @x42
You can ask on #ardour IRC or the mailinglist. Ardour Nightlies use serd 6b9074f since July/15th
I can confirm it fixes the visible issue in ardour 5.10-277-g8c6d78c18 linked against serd 6b9074f.
Great, thanks.
serd_node_new_file()
escapes!is_uri_path_char()
characters to %XX where XX is a pair of hexdigits. Thusserd_file_uri_parse()
also has to unescape %XX properly.This is crucial, if non-ascii unicode chars are in the URI, which is the case when for example somewhere in the session path of an Ardour session a
!(is_digit() || is_alpha())
character occurs.The introduced
is_hexdig()
function does not tolerate small "a-f" letters as hex digits, because RFC2234 does not mention them as being allowed in a hexdig.Topic has been discussed in #ardour with @x42.