From a3b9ef5b98530a81f648b397fed91d78349dc4cd Mon Sep 17 00:00:00 2001 From: default Date: Tue, 20 Feb 2024 06:10:42 +0100 Subject: The link verification time is stored as a time_t. This way, it will be easier in an eventual future to test if a link verification is too old to be trusted. --- mastoapi.c | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) (limited to 'mastoapi.c') diff --git a/mastoapi.c b/mastoapi.c index 8dcd6b4..0a0c3d6 100644 --- a/mastoapi.c +++ b/mastoapi.c @@ -642,10 +642,17 @@ xs_dict *mastoapi_account(const xs_dict *actor) if (!xs_is_null(type) && !xs_is_null(name) && !xs_is_null(value) && strcmp(type, "PropertyValue") == 0) { - char *val_date = NULL; + xs *val_date = NULL; - if (xs_startswith(value, "https:/" "/")) - val_date = xs_dict_get(val_links, value); + if (xs_startswith(value, "https:/" "/")) { + xs_number *verified_time = xs_dict_get(val_links, value); + if (xs_type(verified_time) == XSTYPE_NUMBER) { + time_t t = xs_number_get(verified_time); + + if (t > 0) + val_date = xs_str_utctime(t, ISO_DATE_SPEC); + } + } xs *d = xs_dict_new(); @@ -1161,10 +1168,15 @@ int mastoapi_get_handler(const xs_dict *req, const char *q_path, val_links = xs_stock_dict; while (xs_dict_iter(&metadata, &k, &v)) { - char *val_date = NULL; + xs *val_date = NULL; - if (xs_startswith(v, "https:/" "/")) - val_date = xs_dict_get(val_links, v); + xs_number *verified_time = xs_dict_get(val_links, v); + if (xs_type(verified_time) == XSTYPE_NUMBER) { + time_t t = xs_number_get(verified_time); + + if (t > 0) + val_date = xs_str_utctime(t, ISO_DATE_SPEC); + } xs *d = xs_dict_new(); -- cgit v1.2.3