diff options
author | default <nobody@localhost> | 2022-09-28 09:29:09 +0200 |
---|---|---|
committer | default <nobody@localhost> | 2022-09-28 09:29:09 +0200 |
commit | a636cf8b25d72900892b18191e0d68de10779e90 (patch) | |
tree | dd2fa86101259a499713d810db7d360d25f27aa3 /data.c | |
parent | 1d19464a48a7950421a4aff49034bde6fe4f4fa3 (diff) |
New function static_get().
Diffstat (limited to 'data.c')
-rw-r--r-- | data.c | 25 |
1 files changed, 25 insertions, 0 deletions
@@ -801,6 +801,31 @@ int actor_get(snac *snac, char *actor, d_char **data) } +d_char *_static_fn(snac *snac, char *id) +/* gets the filename for a static file */ +{ + return xs_fmt("%s/static/%s", snac->basedir, id); +} + + +int static_get(snac *snac, char *id, d_char **data, int *size) +/* returns static content */ +{ + xs *fn = _static_fn(snac, id); + FILE *f; + int status = 404; + + *size = 0xfffffff; + + if ((f = fopen(fn, "rb")) != NULL) { + *data = xs_read(f, size); + status = 200; + } + + return status; +} + + void enqueue_input(snac *snac, char *msg, char *req) /* enqueues an input message */ { |