commit 8c4850d

default  ·  2023-04-21 22:24:15 +0000 UTC
parent 73e7195
New functions to get and set metadata into static files.
2 files changed,  +35, -0
M data.c
M snac.h
M data.c
+33, -0
 1@@ -1366,6 +1366,39 @@ void static_put(snac *snac, const char *id, const char *data, int size)
 2 }
 3 
 4 
 5+void status_put_meta(snac *snac, const char *id, const char *str)
 6+/* puts metadata (i.e. a media description string) to id */
 7+{
 8+    xs *fn = _static_fn(snac, id);
 9+    fn     = xs_str_cat(fn, ".txt");
10+    FILE *f;
11+
12+    if ((f = fopen(fn, "w")) != NULL) {
13+        fprintf(f, "%s\n", str);
14+        fclose(f);
15+    }
16+}
17+
18+
19+xs_str *status_get_meta(snac *snac, const char *id)
20+/* gets metadata from a media */
21+{
22+    xs *fn    = _static_fn(snac, id);
23+    fn        = xs_str_cat(fn, ".txt");
24+    xs_str *r = NULL;
25+    FILE *f;
26+
27+    if ((f = fopen(fn, "r")) != NULL) {
28+        r = xs_strip_i(xs_readline(f));
29+        fclose(f);
30+    }
31+    else
32+        r = xs_str_new("");
33+
34+    return r;
35+}
36+
37+
38 d_char *_history_fn(snac *snac, char *id)
39 /* gets the filename for the history */
40 {
M snac.h
+2, -0
1@@ -130,6 +130,8 @@ int actor_get(snac *snac, const char *actor, d_char **data);
2 
3 int static_get(snac *snac, const char *id, d_char **data, int *size);
4 void static_put(snac *snac, const char *id, const char *data, int size);
5+void status_put_meta(snac *snac, const char *id, const char *str);
6+xs_str *status_get_meta(snac *snac, const char *id);
7 
8 double history_mtime(snac *snac, char *id);
9 void history_add(snac *snac, char *id, char *content, int size);