tadd a case for mailto: urls for link references - webdump - [FORK] git://git.codemadness.org/webdump
(HTM) git clone git://git.z3bra.org/webdump.git
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit dc6abb72ba42569b71ac27b79ca69f29263a01c2
(DIR) parent 4668757e454aab81f013856c4320bec8710e427c
(HTM) Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Fri, 29 Nov 2019 15:22:54 +0100
add a case for mailto: urls for link references
Diffstat:
M webdump.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
---
(DIR) diff --git a/webdump.c b/webdump.c
t@@ -667,6 +667,7 @@ static void
xmltagstartparsed(XMLParser *p, const char *t, size_t tl, int isshort)
{
struct node *cur, *parent = NULL;
+ char absurl[1024];
int i;
/* temporary replace the callback except the reader and end of tag
t@@ -689,8 +690,12 @@ xmltagstartparsed(XMLParser *p, const char *t, size_t tl, int isshort)
#ifdef LINKREFS
/* show links as reference at the bottom */
if (showlinkrefs && src[0]) {
- char absurl[1024];
- if (absuri(absurl, sizeof(absurl), src, basehref) != -1) {
+ absurl[0] = '\0';
+ if (!strncmp(src, "mailto:", sizeof("mailto:") - 1))
+ strlcpy(absurl, src, sizeof(absurl));
+ else if (absuri(absurl, sizeof(absurl), src, basehref) == -1)
+ absurl[0] = '\0';
+ if (absurl[0]) {
if (!links_head)
links_cur = links_head = ecalloc(1, sizeof(*links_head));
else