aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--url.c17
2 files changed, 20 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 6a9625d..40ca12d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2003-12-09 WATANABE Katsuyuki <knabe@sannet.ne.jp>
+
+ * [w3m-dev 04024] fix: drive letter
+ * url.c (parseURL2): fix for SUPPORT_DOS_DRIVE_PREFIX
+
2003-12-09 YONETANI Tomokazu <qhwt@myrealbox.com>
* [w3m-dev 04022] $^
@@ -8273,4 +8278,4 @@ a * [w3m-dev 03276] compile error on EWS4800
* release-0-2-1
* import w3m-0.2.1
-$Id: ChangeLog,v 1.893 2003/12/08 16:15:17 ukai Exp $
+$Id: ChangeLog,v 1.894 2003/12/08 16:17:19 ukai Exp $
diff --git a/url.c b/url.c
index 48ece16..f3888be 100644
--- a/url.c
+++ b/url.c
@@ -1,4 +1,4 @@
-/* $Id: url.c,v 1.86 2003/10/22 18:48:09 ukai Exp $ */
+/* $Id: url.c,v 1.87 2003/12/08 16:17:21 ukai Exp $ */
#include "fm.h"
#include <sys/types.h>
#include <sys/socket.h>
@@ -1001,8 +1001,19 @@ parseURL2(char *url, ParsedURL *pu, ParsedURL *current)
}
return;
}
- if (pu->scheme == SCM_LOCAL)
- pu->file = file_quote(expandName(file_unquote(pu->file)));
+ if (pu->scheme == SCM_LOCAL) {
+ char *q = expandName(file_unquote(pu->file));
+#ifdef SUPPORT_DOS_DRIVE_PREFIX
+ Str drive;
+ if (IS_ALPHA(q[0]) && q[1] == ':') {
+ drive = Strnew_charp_n(q, 2);
+ Strcat_charp(drive, file_quote(q+2));
+ pu->file = drive->ptr;
+ }
+ else
+#endif
+ pu->file = file_quote(q);
+ }
if (current && (pu->scheme == current->scheme ||
(pu->scheme == SCM_FTP && current->scheme == SCM_FTPDIR) ||