diff options
Diffstat (limited to 'html.c')
| -rw-r--r-- | html.c | 15 |
1 files changed, 14 insertions, 1 deletions
| @@ -1155,7 +1155,10 @@ xs_str *html_entry(snac *snac, xs_str *os, const xs_dict *msg, int local, | |||
| 1155 | s = xs_str_cat(s, "<p class=\"snac-content-attachments\">\n"); | 1155 | s = xs_str_cat(s, "<p class=\"snac-content-attachments\">\n"); |
| 1156 | 1156 | ||
| 1157 | while (xs_list_iter(&attach, &v)) { | 1157 | while (xs_list_iter(&attach, &v)) { |
| 1158 | char *t = xs_dict_get(v, "mediaType"); | 1158 | const char *t = xs_dict_get(v, "mediaType"); |
| 1159 | |||
| 1160 | if (xs_is_null(t)) | ||
| 1161 | t = xs_dict_get(v, "type"); | ||
| 1159 | 1162 | ||
| 1160 | if (xs_is_null(t)) | 1163 | if (xs_is_null(t)) |
| 1161 | continue; | 1164 | continue; |
| @@ -1210,6 +1213,16 @@ xs_str *html_entry(snac *snac, xs_str *os, const xs_dict *msg, int local, | |||
| 1210 | s = xs_str_cat(s, s1); | 1213 | s = xs_str_cat(s, s1); |
| 1211 | } | 1214 | } |
| 1212 | } | 1215 | } |
| 1216 | else | ||
| 1217 | if (strcmp(t, "Link") == 0) { | ||
| 1218 | const char *url = xs_dict_get(v, "href"); | ||
| 1219 | |||
| 1220 | if (!xs_is_null(url)) { | ||
| 1221 | xs *es1 = encode_html(url); | ||
| 1222 | xs *s1 = xs_fmt("<p><a href=\"%s\">%s</p>", url, es1); | ||
| 1223 | s = xs_str_cat(s, s1); | ||
| 1224 | } | ||
| 1225 | } | ||
| 1213 | else { | 1226 | else { |
| 1214 | char *url = xs_dict_get(v, "url"); | 1227 | char *url = xs_dict_get(v, "url"); |
| 1215 | char *name = xs_dict_get(v, "name"); | 1228 | char *name = xs_dict_get(v, "name"); |