diff options
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 37 |
1 files changed, 22 insertions, 15 deletions
@@ -1,4 +1,4 @@ -/* $Id: main.c,v 1.68 2002/01/22 10:45:14 ukai Exp $ */ +/* $Id: main.c,v 1.69 2002/01/22 16:59:11 ukai Exp $ */ #define MAINPROGRAM #include "fm.h" #include <signal.h> @@ -3611,28 +3611,23 @@ cmd_loadURL(char *url, ParsedURL *current) /* go to specified URL */ -void -goURL(void) +static void +goURL0(char *prompt, char *def_url) { char *url; ParsedURL p_url; + ParsedURL *b_url; + b_url = baseURL(Currentbuf); url = searchKeyData(); if (url == NULL) { - Str cur_url = parsedURL2Str(&Currentbuf->currentURL); - ParsedURL pu; if (!(Currentbuf->bufferprop & BP_INTERNAL)) - pushHashHist(URLHist, cur_url->ptr); - url = inputLineHist("Goto URL: ", cur_url->ptr, IN_URL, URLHist); + pushHashHist(URLHist, parsedURL2Str(&Currentbuf->currentURL)->ptr); + url = inputLineHist(prompt, def_url, IN_URL, URLHist); if (url != NULL) { SKIP_BLANKS(url); - parseURL(url, &pu, NULL); - if (retryAsHttp) { - if ((pu.scheme == SCM_MISSING) - || ((pu.scheme == SCM_LOCAL) - && (strncmp(url, "file:", 5) != 0))) - url = Sprintf("http://%s", url)->ptr; - } + if (def_url != NULL) + b_url = NULL; /* XXX: for retryAsHttp */ } } #ifdef JP_CHARSET @@ -3653,7 +3648,19 @@ goURL(void) } parseURL2(url, &p_url, baseURL(Currentbuf)); pushHashHist(URLHist, parsedURL2Str(&p_url)->ptr); - cmd_loadURL(url, baseURL(Currentbuf)); + cmd_loadURL(url, b_url); +} + +void +goURL(void) +{ + goURL0("Goto URL: ", parsedURL2Str(&Currentbuf->currentURL)->ptr); +} + +void +gorURL(void) +{ + goURL0("Goto relative URL: ", NULL); } static void |