summaryrefslogtreecommitdiff
path: root/activitypub.c
diff options
context:
space:
mode:
Diffstat (limited to 'activitypub.c')
-rw-r--r--activitypub.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/activitypub.c b/activitypub.c
index 97fdc7b..b878bc5 100644
--- a/activitypub.c
+++ b/activitypub.c
@@ -272,7 +272,7 @@ void process_tags(snac *snac, const char *content, d_char **n_content, d_char **
char *p, *v;
int n = 0;
- split = xs_regex_split(content, "(@[A-Za-z0-9_]+@[A-Za-z0-9\\.-]+|#[^ ,\\.:;<]+)");
+ split = xs_regex_split(content, "(@[A-Za-z0-9_]+@[A-Za-z0-9\\.-]+|&#[0-9]+;|#[^ ,\\.:;<]+)");
p = split;
while (xs_list_iter(&p, &v)) {
@@ -321,6 +321,13 @@ void process_tags(snac *snac, const char *content, d_char **n_content, d_char **
/* add the code */
nc = xs_str_cat(nc, l);
}
+ else
+ if (*v == '&') {
+ /* HTML Unicode entity, probably part of an emoji */
+
+ /* write as is */
+ nc = xs_str_cat(nc, v);
+ }
}
else
nc = xs_str_cat(nc, v);