Skip to content

GWinHTTPVfs: use URI parser for parsing URIs

LRN requested to merge lrn/glib:cherry-pick-416a29d2 into master

If a URI can't be handled by by WinHTTPVfs, it should pass that URI along to the URI parser of the wrapped Vfs, not to its generic parser. Theoretically, generic parser should also be able to handle URIs, but this is subject to Vfs semantics.

In case of Windows, the wrapped Vfs is GLocalVfs, which is local and treats any generic names as either file:// URIs or as filesystem paths. It only ever treats URIs as URIs when they are passed to its URI parser. This breaks the testsuite when g-icon GIO test passes unhandleable sftp:// URI, and expects it to come through unmolested, yet GLocalVfs, getting that URI as a generic parse name, treats it as a filesystem path, and then "canonicalizes" it by prepending CWD.

Fix this by making WinHTTPVfs pass any URIs it gets to the URI parser of the wrapped Vfs. This way unknown URIs remain URI-ish. This seems like a reasonable things to do, since the URI parser should not be given anything other than URIs, so there's no reason to try generic parsing with these strings.

Closes: #875 (closed)

(cherry picked from commit 416a29d27c6a88d795a94bfad55e42a37297d5fa)

Merge request reports

Loading