snac2

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

commit 86aa0ff4b6b0c7fe054e027be6492f07f9a3d7f2
parent 50d73a6e94c528693155466d4b5c374939fe20f5
Author: default <nobody@localhost>
Date:   Sun, 20 Nov 2022 05:24:11 +0100

More RSS tweaks.

Diffstat:
Mhtml.c | 17+++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/html.c b/html.c @@ -1129,19 +1129,32 @@ int html_get_handler(d_char *req, char *q_path, char **body, int *b_size, char * continue; xs *content = sanitize(xs_dict_get(msg, "content")); - char *title = xs_dict_get(msg, "published"); + xs *title = xs_dup(content); + int i = -1; /* escape tags */ content = xs_replace_i(content, "<", "&lt;"); content = xs_replace_i(content, ">", "&gt;"); + if (strlen(title) > 40) + title[i = 40] = '\0'; + + if ((v = strchr(title, '<'))) + title[i = (v - title)] = '\0'; + + if ((v = strchr(title, '&'))) + title[i = (v - title)] = '\0'; + + if (i != -1) + title = xs_str_cat(xs_strip(title), "..."); + xs *s = xs_fmt( "<item>\n" "<title>%s</title>\n" "<link>%s</link>\n" "<description>%s</description>\n" "</item>\n", - xs_is_null(title) ? "..." : title, id, content + title, id, content ); rss = xs_str_cat(rss, s);