diff options
| author | default <nobody@localhost> | 2024-11-03 15:13:31 +0100 |
|---|---|---|
| committer | default <nobody@localhost> | 2024-11-03 15:13:31 +0100 |
| commit | a5942432bf92b1658ea206f8beb1b120c327bc93 (patch) | |
| tree | 6c279294cfb3dc8f4f11dad55cc28be3b989077a | |
| parent | 6501187c74e83f52ea5eecbad2cee024afe5a1bb (diff) | |
Fixed processing of URLs with two @ inside.
| -rw-r--r-- | format.c | 11 |
1 files changed, 8 insertions, 3 deletions
@@ -135,7 +135,9 @@ static xs_str *format_line(const char *line, xs_list **attach) else if (*v == '[') { /* markdown-like links [label](url) */ - xs *w = xs_strip_chars_i(xs_replace(v, "#", "#"), "[)"); + xs *w = xs_strip_chars_i( + xs_replace_i(xs_replace(v, "#", "#"), "@", "@"), + "; if (xs_list_len(l) == 2) { @@ -150,7 +152,9 @@ static xs_str *format_line(const char *line, xs_list **attach) else if (*v == '!') { /* markdown-like images  */ - xs *w = xs_strip_chars_i(xs_replace(v, "#", "#"), "; if (xs_list_len(l) == 2) { @@ -179,7 +183,8 @@ static xs_str *format_line(const char *line, xs_list **attach) } else if (xs_str_in(v, ":/" "/") != -1) { - xs *u = xs_replace(v, "#", "#"); + xs *u = xs_replace_i(xs_replace(v, "#", "#"), "@", "@"); + xs *v2 = xs_strip_chars_i(xs_dup(u), ".,)"); const char *mime = xs_mime_by_ext(v2); |