commit 8c4850d
default
·
2023-04-21 22:24:15 +0000 UTC
parent 73e7195
New functions to get and set metadata into static files.
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);