Strip formatting from URLs

Notably this fixes opening URLs from litterbox queries where part of the
URL is highlighted.
weechat-hashes
C. McEnroe 2020-10-09 19:15:25 -04:00
parent c48672313b
commit 1cc61723c9
1 changed files with 7 additions and 2 deletions

9
url.c
View File

@ -86,14 +86,19 @@ static void push(uint id, const char *nick, const char *str, size_t len) {
struct URL *url = &ring.urls[ring.len++ % Cap]; struct URL *url = &ring.urls[ring.len++ % Cap];
free(url->nick); free(url->nick);
free(url->url); free(url->url);
url->id = id; url->id = id;
url->nick = NULL; url->nick = NULL;
if (nick) { if (nick) {
url->nick = strdup(nick); url->nick = strdup(nick);
if (!url->nick) err(EX_OSERR, "strdup"); if (!url->nick) err(EX_OSERR, "strdup");
} }
url->url = strndup(str, len); url->url = malloc(len + 1);
if (!url->url) err(EX_OSERR, "strndup"); if (!url->url) err(EX_OSERR, "malloc");
char buf[1024];
snprintf(buf, sizeof(buf), "%.*s", (int)len, str);
styleStrip(&(struct Cat) { url->url, len + 1, 0 }, buf);
} }
void urlScan(uint id, const char *nick, const char *mesg) { void urlScan(uint id, const char *nick, const char *mesg) {