From 29e57b1c5cf0a87e5643a3da988201adb23714e4 Mon Sep 17 00:00:00 2001 From: Fumitoshi UKAI Date: Tue, 24 Sep 2002 17:06:04 +0000 Subject: [w3m-dev 03319] mailto * main.c (followA): mailto * main.c (cmd_loadURL): mailto * url.c (_parsedURL2Str): mailto: query From: AIDA Shinra --- ChangeLog | 9 ++++++++- main.c | 28 +++++++++++++++++++++++++--- url.c | 6 +++++- 3 files changed, 38 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 74ed6d5..fb01f65 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2002-09-25 AIDA Shinra + + * [w3m-dev 03319] mailto + * main.c (followA): mailto + * main.c (cmd_loadURL): mailto + * url.c (_parsedURL2Str): mailto: query + 2002-09-25 AIDA Shinra * [w3m-dev 03318] Re: Passwords @@ -3815,4 +3822,4 @@ * release-0-2-1 * import w3m-0.2.1 -$Id: ChangeLog,v 1.428 2002/09/24 16:35:02 ukai Exp $ +$Id: ChangeLog,v 1.429 2002/09/24 17:06:04 ukai Exp $ diff --git a/main.c b/main.c index 539fd64..7fa0bf2 100644 --- a/main.c +++ b/main.c @@ -1,4 +1,4 @@ -/* $Id: main.c,v 1.112 2002/09/05 15:49:50 ukai Exp $ */ +/* $Id: main.c,v 1.113 2002/09/24 17:06:04 ukai Exp $ */ #define MAINPROGRAM #include "fm.h" #include @@ -2729,11 +2729,22 @@ followA(void) #endif ) { /* invoke external mailer */ + Str to = Strnew_charp(a->url + 7); +#ifndef USE_W3MMAILER + char *pos; + if (!non_null(Mailer)) { + disp_err_message("no mailer is specified", TRUE); + return; + } + if ((pos = strchr(to->ptr, '?')) != NULL) + Strtruncate(to, pos - to->ptr); +#endif fmTerm(); - system(myExtCommand(Mailer, shell_quote(url_unquote(a->url + 7)), + system(myExtCommand(Mailer, shell_quote(url_unquote(to->ptr)), FALSE)->ptr); fmInit(); displayBuffer(Currentbuf, B_FORCE_REDRAW); + pushHashHist(URLHist, a->url); return; } #ifdef USE_NNTP @@ -3691,11 +3702,22 @@ cmd_loadURL(char *url, ParsedURL *current, char *referer) #endif ) { /* invoke external mailer */ + Str to = Strnew_charp(url + 7); +#ifndef USE_W3MMAILER + char *pos; + if (!non_null(Mailer)) { + disp_err_message("no mailer is specified", TRUE); + return; + } + if ((pos = strchr(to->ptr, '?')) != NULL) + Strtruncate(to, pos - to->ptr); +#endif fmTerm(); - system(myExtCommand(Mailer, shell_quote(url_unquote(url + 7)), + system(myExtCommand(Mailer, shell_quote(url_unquote(to->ptr)), FALSE)->ptr); fmInit(); displayBuffer(Currentbuf, B_FORCE_REDRAW); + pushHashHist(URLHist, url); return; } #ifdef USE_NNTP diff --git a/url.c b/url.c index dc98aef..619e683 100644 --- a/url.c +++ b/url.c @@ -1,4 +1,4 @@ -/* $Id: url.c,v 1.49 2002/09/24 16:35:02 ukai Exp $ */ +/* $Id: url.c,v 1.50 2002/09/24 17:06:05 ukai Exp $ */ #include "fm.h" #include #include @@ -1114,6 +1114,10 @@ _parsedURL2Str(ParsedURL *pu, int pass) #ifndef USE_W3MMAILER if (pu->scheme == SCM_MAILTO) { Strcat_charp(tmp, pu->file); + if (pu->query) { + Strcat_char(tmp, '?'); + Strcat_charp(tmp, pu->query); + } return tmp; } #endif -- cgit v1.2.3