summaryrefslogtreecommitdiff
path: root/format.c
diff options
context:
space:
mode:
Diffstat (limited to 'format.c')
-rw-r--r--format.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/format.c b/format.c
index 9d7ed18..d0b535d 100644
--- a/format.c
+++ b/format.c
@@ -135,7 +135,9 @@ static xs_str *format_line(const char *line, xs_list **attach)
135 else 135 else
136 if (*v == '[') { 136 if (*v == '[') {
137 /* markdown-like links [label](url) */ 137 /* markdown-like links [label](url) */
138 xs *w = xs_strip_chars_i(xs_replace(v, "#", "#"), "[)"); 138 xs *w = xs_strip_chars_i(
139 xs_replace_i(xs_replace(v, "#", "#"), "@", "@"),
140 "![)");
139 xs *l = xs_split_n(w, "](", 1); 141 xs *l = xs_split_n(w, "](", 1);
140 142
141 if (xs_list_len(l) == 2) { 143 if (xs_list_len(l) == 2) {
@@ -150,7 +152,9 @@ static xs_str *format_line(const char *line, xs_list **attach)
150 else 152 else
151 if (*v == '!') { 153 if (*v == '!') {
152 /* markdown-like images ![alt text](url to image) */ 154 /* markdown-like images ![alt text](url to image) */
153 xs *w = xs_strip_chars_i(xs_replace(v, "#", "#"), "![)"); 155 xs *w = xs_strip_chars_i(
156 xs_replace_i(xs_replace(v, "#", "#"), "@", "@"),
157 "![)");
154 xs *l = xs_split_n(w, "](", 1); 158 xs *l = xs_split_n(w, "](", 1);
155 159
156 if (xs_list_len(l) == 2) { 160 if (xs_list_len(l) == 2) {
@@ -179,7 +183,8 @@ static xs_str *format_line(const char *line, xs_list **attach)
179 } 183 }
180 else 184 else
181 if (xs_str_in(v, ":/" "/") != -1) { 185 if (xs_str_in(v, ":/" "/") != -1) {
182 xs *u = xs_replace(v, "#", "#"); 186 xs *u = xs_replace_i(xs_replace(v, "#", "#"), "@", "@");
187
183 xs *v2 = xs_strip_chars_i(xs_dup(u), ".,)"); 188 xs *v2 = xs_strip_chars_i(xs_dup(u), ".,)");
184 189
185 const char *mime = xs_mime_by_ext(v2); 190 const char *mime = xs_mime_by_ext(v2);