commit 0489875
grunfink
·
2026-04-11 07:36:33 +0000 UTC
parent 4ff0393
Rewritten last commit to be more reliable (latitude and longitude data may be strings).
1 files changed,
+19,
-15
M
html.c
M
html.c
+19,
-15
1@@ -3827,23 +3827,27 @@ xs_html *html_people_list(snac *user, xs_list *list, const char *header, const c
2 const xs_dict *location = xs_dict_get(actor, "location");
3
4 if (xs_is_dict(location)) {
5- const xs_val *latitude = xs_dict_get_def(location, "latitude", xs_stock(0));
6- const xs_val *longitude = xs_dict_get_def(location, "longitude", xs_stock(0));
7- const char *name = xs_dict_get_def(location, "name", "Home");
8+ const xs_val *latitude = xs_dict_get(location, "latitude");
9+ const xs_val *longitude = xs_dict_get(location, "longitude");
10
11- if (*latitude && *longitude) {
12- xs *label = xs_fmt("%s,%s", xs_number_str(latitude), xs_number_str(longitude));
13- xs *url = xs_fmt("https://openstreetmap.org/search?query=%s,%s",
14- latitude, longitude);
15+ if (latitude && longitude) {
16+ const char *name = xs_dict_get_def(location, "name", "Home");
17+ const char *la = xs_is_string(latitude) ? latitude : xs_number_str(latitude);
18+ const char *lo = xs_is_string(longitude) ? longitude : xs_number_str(longitude);
19
20- xs_html_add(snac_post,
21- xs_html_tag("p",
22- xs_html_text(name),
23- xs_html_text(": "),
24- xs_html_tag("a",
25- xs_html_attr("href", url),
26- xs_html_attr("target", "_blank"),
27- xs_html_text(label))));
28+ if (xs_is_string(la) && xs_is_string(lo)) {
29+ xs *label = xs_fmt("%s,%s", la, lo);
30+ xs *url = xs_fmt("https://openstreetmap.org/search?query=%s,%s", la, lo);
31+
32+ xs_html_add(snac_post,
33+ xs_html_tag("p",
34+ xs_html_text(name),
35+ xs_html_text(": "),
36+ xs_html_tag("a",
37+ xs_html_attr("href", url),
38+ xs_html_attr("target", "_blank"),
39+ xs_html_text(label))));
40+ }
41 }
42 }
43