summaryrefslogtreecommitdiff
path: root/format.c
diff options
context:
space:
mode:
authorGravatar Santtu Lakkala2025-01-31 13:58:10 +0200
committerGravatar Santtu Lakkala2025-02-05 10:57:27 +0200
commit52c45718208f076ba1e4a30d7d54655cb4dcc78c (patch)
treef7eae615376ba7aa64ba1d7351d0b9a935f63649 /format.c
parentUpdated RELEASE_NOTES. (diff)
downloadpenes-snac2-52c45718208f076ba1e4a30d7d54655cb4dcc78c.tar.gz
penes-snac2-52c45718208f076ba1e4a30d7d54655cb4dcc78c.tar.xz
penes-snac2-52c45718208f076ba1e4a30d7d54655cb4dcc78c.zip
Fix link detection. Fixes: #290
Diffstat (limited to '')
-rw-r--r--format.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/format.c b/format.c
index e5934b8..4c8ed29 100644
--- a/format.c
+++ b/format.c
@@ -78,6 +78,8 @@ xs_dict *emojis(void)
78 return d; 78 return d;
79} 79}
80 80
81/* Non-whitespace without trailing comma, period or closing paren */
82#define NOSPACE "([^[:space:],.)]+|[,.)]+[^[:space:],.)])+"
81 83
82static xs_str *format_line(const char *line, xs_list **attach) 84static xs_str *format_line(const char *line, xs_list **attach)
83/* formats a line */ 85/* formats a line */
@@ -96,8 +98,8 @@ static xs_str *format_line(const char *line, xs_list **attach)
96 "__[^_]+__" "|" //anzu 98 "__[^_]+__" "|" //anzu
97 "!\\[[^]]+\\]\\([^\\)]+\\)" "|" 99 "!\\[[^]]+\\]\\([^\\)]+\\)" "|"
98 "\\[[^]]+\\]\\([^\\)]+\\)" "|" 100 "\\[[^]]+\\]\\([^\\)]+\\)" "|"
99 "[a-z]+:/" "/[^[:space:]]+" "|" 101 "[a-z]+:/" "/" NOSPACE "|"
100 "(mailto|xmpp):[^@[:space:]]+@[^[:space:]]+" 102 "(mailto|xmpp):[^@[:space:]]+@" NOSPACE
101 ")"); 103 ")");
102 int n = 0; 104 int n = 0;
103 105