? drive-letter.diff
Index: docs/FAQ
===================================================================
RCS file: /cvsroot/curl/curl/docs/FAQ,v
retrieving revision 1.132
diff -u -r1.132 FAQ
--- docs/FAQ	3 Nov 2009 19:07:19 -0000	1.132
+++ docs/FAQ	7 Nov 2009 17:08:03 -0000
@@ -73,6 +73,7 @@
   4.15 FTPS doesn't work
   4.16 My HTTP POST or PUT requests are slow!
   4.17 Non-functional connect timeouts on Windows
+  4.18 file:// URLs containing drive letters (Windows, NetWare)
 
  5. libcurl Issues
   5.1 Is libcurl thread-safe?
@@ -915,6 +916,33 @@
   anything else. This will make (lib)curl to consider the connection connected
   and thus the connect timeout won't trigger.
 
+  4.18 file:// URLs containing drive letters (Windows, NetWare)
+
+  When using cURL to try to download a local file, one might use a URL
+  in this format:
+
+  file://D:/blah.txt
+
+  You'll find that even if D:\blah.txt does exist, cURL returns a 'file
+  not found' error.
+
+  According to RFC 1738 (http://www.faqs.org/rfcs/rfc1738.html),
+  file:// URLs must contain a host component, but it is ignored by
+  most implementations. In the above example, 'D:' is treated as the
+  host component, and is taken away. Thus, cURL tries to open '/blah.txt'.
+  If your system is installed to drive C:, that will resolve to 'C:\blah.txt',
+  and if that doesn't exist you will get the not found error.
+
+  To fix this problem, use file:// URLs with *three* leading slashes:
+
+  file:///D:/blah.txt
+
+  Alternatively, if it makes more sense, specify 'localhost' as the host
+  component:
+
+  file://localhost/D:/blah.txt
+
+  In either case, cURL should now be looking for the correct file.
 
 5. libcurl Issues
 
