diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | url.c | 17 |
2 files changed, 20 insertions, 4 deletions
@@ -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 $ @@ -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) || |