snac2

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

commit 5de1a9ce0cbdda0ded72a51660130327636eb699
parent 46cfc37f2bfe03baa4d6feadf7155483c8797459
Author: default <nobody@localhost>
Date:   Sat, 19 Aug 2023 09:31:13 +0200

Rewritten history_get() prototype to match static_get().

Diffstat:
Mdata.c | 13+++++++++----
Mhtml.c | 13+++----------
Msnac.h | 3++-
3 files changed, 14 insertions(+), 15 deletions(-)

diff --git 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 @@ -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 @@ -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);