summaryrefslogtreecommitdiff
path: root/data.c
diff options
context:
space:
mode:
authordefault <nobody@localhost>2022-09-28 09:29:09 +0200
committerdefault <nobody@localhost>2022-09-28 09:29:09 +0200
commita636cf8b25d72900892b18191e0d68de10779e90 (patch)
treedd2fa86101259a499713d810db7d360d25f27aa3 /data.c
parent1d19464a48a7950421a4aff49034bde6fe4f4fa3 (diff)
New function static_get().
Diffstat (limited to 'data.c')
-rw-r--r--data.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/data.c b/data.c
index 13cef84..b20dc9e 100644
--- a/data.c
+++ b/data.c
@@ -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 */
{