snac2

Fork of https://codeberg.org/grunfink/snac2
git clone https://git.inz.fi/snac2
Log | Files | Refs | README | LICENSE

commit b262961c93d933b886db1fb1f7d0273e11b5d282
parent 8e1f4430ff0408fff1b25715d45065afb4f6bd10
Author: default <nobody@localhost>
Date:   Tue, 17 Jan 2023 09:37:41 +0100

Process HTML Unicode entities specially in process_tags().

Diffstat:
Mactivitypub.c | 9++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

diff --git 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);