From 5de1a9ce0cbdda0ded72a51660130327636eb699 Mon Sep 17 00:00:00 2001 From: default Date: Sat, 19 Aug 2023 09:31:13 +0200 Subject: [PATCH] Rewritten history_get() prototype to match static_get(). --- data.c | 13 +++++++++---- html.c | 13 +++---------- snac.h | 3 ++- 3 files changed, 14 insertions(+), 15 deletions(-) diff --git a/data.c b/data.c index 4f0d42a..ecc227e 100644 --- a/data.c +++ b/data.c @@ -1681,18 +1681,23 @@ void history_add(snac *snac, const char *id, const char *content, int size) } -xs_str *history_get(snac *snac, const char *id) +int history_get(snac *snac, const char *id, xs_str **content, int *size, + const char *inm, xs_str **etag) { - xs_str *content = NULL; xs *fn = _history_fn(snac, id); FILE *f; + int status = 404; if (fn && (f = fopen(fn, "r")) != NULL) { - content = xs_readall(f); + *content = xs_readall(f); fclose(f); + + *size = strlen(*content); + + status = 200; } - return content; + return status; } diff --git a/html.c b/html.c index e132f17..19ab6b7 100644 --- a/html.c +++ b/html.c @@ -1875,9 +1875,7 @@ int html_get_handler(const xs_dict *req, const char *q_path, if (cache && history_mtime(&snac, h) > timeline_mtime(&snac)) { snac_debug(&snac, 1, xs_fmt("serving cached local timeline")); - *body = history_get(&snac, h); - *b_size = strlen(*body); - status = 200; + status = history_get(&snac, h, body, b_size, NULL, NULL); } else { xs *list = timeline_list(&snac, "public", skip, show); @@ -1905,9 +1903,7 @@ int html_get_handler(const xs_dict *req, const char *q_path, if (cache && history_mtime(&snac, "timeline.html_") > timeline_mtime(&snac)) { snac_debug(&snac, 1, xs_fmt("serving cached timeline")); - *body = history_get(&snac, "timeline.html_"); - *b_size = strlen(*body); - status = 200; + status = history_get(&snac, "timeline.html_", body, b_size, NULL, NULL); } else { snac_debug(&snac, 1, xs_fmt("building timeline")); @@ -1996,10 +1992,7 @@ int html_get_handler(const xs_dict *req, const char *q_path, status = 404; } else - if ((*body = history_get(&snac, id)) != NULL) { - *b_size = strlen(*body); - status = 200; - } + status = history_get(&snac, id, body, b_size, NULL, NULL); } } else diff --git a/snac.h b/snac.h index bf7ce79..84a023d 100644 --- a/snac.h +++ b/snac.h @@ -150,7 +150,8 @@ xs_str *static_get_meta(snac *snac, const char *id); double history_mtime(snac *snac, const char *id); void history_add(snac *snac, const char *id, const char *content, int size); -xs_str *history_get(snac *snac, const char *id); +int history_get(snac *snac, const char *id, xs_str **content, int *size, + const char *inm, xs_str **etag); int history_del(snac *snac, const char *id); xs_list *history_list(snac *snac);