From a18c71929868403af33fdaff2265a74e4c552c13 Mon Sep 17 00:00:00 2001
From: default
Date: Tue, 11 Jul 2023 19:58:55 +0200
Subject: Fixed crash.
---
html.c | 38 ++++++++++++++++++++++++++------------
1 file changed, 26 insertions(+), 12 deletions(-)
(limited to 'html.c')
diff --git a/html.c b/html.c
index a88961e..ca72a34 100644
--- a/html.c
+++ b/html.c
@@ -1147,47 +1147,61 @@ xs_str *html_entry(snac *snac, xs_str *os, const xs_dict *msg, int local,
continue;
if (xs_startswith(t, "image/")) {
- char *url = xs_dict_get(v, "url");
- xs *name = encode_html(xs_dict_get(v, "name"));
+ char *url = xs_dict_get(v, "url");
+ char *name = xs_dict_get(v, "name");
if (url != NULL) {
if (xs_is_null(name))
name = "";
+
+ xs *es1 = encode_html(name);
xs *s1 = xs_fmt(
"
\n",
- url, url, name, name);
+ url, url, es1, es1);
s = xs_str_cat(s, s1);
}
}
else
if (xs_startswith(t, "video/")) {
- char *url = xs_dict_get(v, "url");
- xs *name = encode_html(xs_dict_get(v, "name"));
+ char *url = xs_dict_get(v, "url");
+ char *name = xs_dict_get(v, "name");
if (url != NULL) {
- xs *s1 = xs_fmt("\n", url, url, name ? name : "No description.");
+ if (xs_is_null(name))
+ name = "No description";
+
+ xs *es1 = encode_html(name);
+ xs *s1 = xs_fmt("\n", url, url, es1);
s = xs_str_cat(s, s1);
}
}
else
if (xs_startswith(t, "audio/")) {
- char *url = xs_dict_get(v, "url");
- xs *name = encode_html(xs_dict_get(v, "name"));
+ char *url = xs_dict_get(v, "url");
+ char *name = xs_dict_get(v, "name");
if (url != NULL) {
- xs *s1 = xs_fmt("\n", url, url, name ? name : "No description.");
+ if (xs_is_null(name))
+ name = "No description";
+
+ xs *es1 = encode_html(name);
+ xs *s1 = xs_fmt("\n", url, url, es1);
s = xs_str_cat(s, s1);
}
}
else {
- char *url = xs_dict_get(v, "url");
- xs *name = encode_html(xs_dict_get(v, "name"));
+ char *url = xs_dict_get(v, "url");
+ char *name = xs_dict_get(v, "name");
if (url != NULL) {
- xs *s1 = xs_fmt("Attachment: %s", url, name ? name : "No description");
+ if (xs_is_null(name))
+ name = "No description";
+
+ xs *es1 = encode_html(name);
+ xs *s1 = xs_fmt("Attachment: %s", url, es1);
s = xs_str_cat(s, s1);
}
--
cgit v1.2.3