Some more information:

transport_flip() in http_transport.c is using system() to execute "fossil http" with some parameters.  By adding a strategic 'echo' to the front of the command I can tell that it's trying to do this ...

<tt>cmd /c "fossil" http

... which executed on a command line gives the same error that I was seeing, i.e. <tt>'fossil" http "C:' is not recognized ...</tt>.

The help for 'cmd' says the following:

1. If all of the following conditions are met (SNIP - they aren't)

2. Otherwise, old behavior is to see if the first character is a quote character and if so, strip the leading character and remove the last quote character on the command line, preserving any text after the last quote character.

So on Windows XP we need to add additional double-quotes around the entire command to make it work correctly (and that should also be backwards compatible to 2000, NT, etc.).

I assume that on *nix will be less happy about such a change.

The crash is not directly related to this -- it would seem that waiting for "fossil http" causes a memory access violation (the crash happens after a similar delay if I execute a different/successful command in the system() call).