diff options
author | Fumitoshi UKAI <ukai@debian.or.jp> | 2003-12-08 16:17:19 +0000 |
---|---|---|
committer | Fumitoshi UKAI <ukai@debian.or.jp> | 2003-12-08 16:17:19 +0000 |
commit | 5b0442e8878021dcd33a51e44ab7b04f2392bea8 (patch) | |
tree | 12a30d1a419c9456f971d69ad0b64ac69afe2838 /url.c | |
parent | [w3m-dev 04022] $^ (diff) | |
download | w3m-5b0442e8878021dcd33a51e44ab7b04f2392bea8.tar.gz w3m-5b0442e8878021dcd33a51e44ab7b04f2392bea8.zip |
[w3m-dev 04024] fix: drive letter
* url.c (parseURL2): fix for SUPPORT_DOS_DRIVE_PREFIX
From: WATANABE Katsuyuki <knabe@sannet.ne.jp>
Diffstat (limited to '')
-rw-r--r-- | url.c | 17 |
1 files changed, 14 insertions, 3 deletions
@@ -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) || |