summaryrefslogtreecommitdiff
path: root/data.c
diff options
context:
space:
mode:
authorGravatar default2024-08-11 17:29:09 +0200
committerGravatar default2024-08-11 17:29:09 +0200
commit382ff0334994a11b9905a5b9eceea95ef3153424 (patch)
tree1689f60a85584df11cbba611a50168e4886b7879 /data.c
parentmastoapi: also use mastoapi_timeline() with lists. (diff)
downloadsnac2-382ff0334994a11b9905a5b9eceea95ef3153424.tar.gz
snac2-382ff0334994a11b9905a5b9eceea95ef3153424.tar.xz
snac2-382ff0334994a11b9905a5b9eceea95ef3153424.zip
content_search() also search into alt-text from attachments.
Diffstat (limited to 'data.c')
-rw-r--r--data.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/data.c b/data.c
index 7d31863..e5ff089 100644
--- a/data.c
+++ b/data.c
@@ -2491,8 +2491,22 @@ xs_list *content_search(snac *user, const char *regex,
2491 if (xs_is_null(content)) 2491 if (xs_is_null(content))
2492 continue; 2492 continue;
2493 2493
2494 xs *c = xs_dup(content);
2495
2496 /* add alt-texts from attachments */
2497 const xs_list *atts = xs_dict_get(post, "attachment");
2498 int tc = 0;
2499 const xs_dict *att;
2500
2501 while (xs_list_next(atts, &att, &tc)) {
2502 const char *name = xs_dict_get(att, "name");
2503
2504 if (name != NULL)
2505 c = xs_str_cat(c, " ", name);
2506 }
2507
2494 /* strip HTML */ 2508 /* strip HTML */
2495 xs *c = xs_regex_replace(content, "<[^>]+>", " "); 2509 c = xs_regex_replace_i(c, "<[^>]+>", " ");
2496 c = xs_regex_replace_i(c, " {2,}", " "); 2510 c = xs_regex_replace_i(c, " {2,}", " ");
2497 c = xs_tolower_i(c); 2511 c = xs_tolower_i(c);
2498 2512