On Thu, 31 Jul 2008, Chris Young wrote:
On Thu, 31 Jul 2008 18:33:31 +0100 (BST), John-Mark Bell wrote:
> All paths passed up from the core will be in Unix format (as it basically
> just strips the scheme + authority off the front). Thus, fetch_filetype()
> should be expecting a Unix path.
So it does (I just copied the debug code for this routine without
looking at it). I can fix that at my end then, but that doesn't help
if the path is wrong when fetching files.
Actually, what I wrote above isn't entirely accurate. The core simply
passes around whatever you pass it, adding or stripping "file://" as
appropriate (Yes, two slashes -- the third is assumed to be the start of
the path segment, as per the URI spec).
(I really, really, don't want to enable UNIX path compatibility,
rather work out a way to use native paths)
On RISC OS, our runtime library performs this conversion transparently.
Your alternative would be to implement a platform-specific handler for
file: URLs. Then you can do whatever you like.
See content/fetchers/fetch_*.c for existing fetch handlers. I think
there's also one in beos/, as that has some slightly different
Overall, this seems far cleaner that changing NetSurf's core + the
underlying fetch library (cURL) to gain support for specific platforms).