commit 125317a
default
·
2023-06-07 09:08:14 +0000 UTC
parent 33f1f91
Some prototype update.
M
data.c
+22,
-22
1@@ -32,7 +32,7 @@ int srv_open(char *basedir, int auto_upgrade)
2 int ret = 0;
3 xs *cfg_file = NULL;
4 FILE *f;
5- d_char *error = NULL;
6+ xs_str *error = NULL;
7
8 pthread_mutex_init(&data_mutex, NULL);
9
10@@ -485,7 +485,7 @@ int index_len(const char *fn)
11 xs_list *index_list(const char *fn, int max)
12 /* returns an index as a list */
13 {
14- d_char *list = NULL;
15+ xs_list *list = NULL;
16 FILE *f;
17 int n = 0;
18
19@@ -511,7 +511,7 @@ xs_list *index_list(const char *fn, int max)
20 xs_list *index_list_desc(const char *fn, int skip, int show)
21 /* returns an index as a list, in reverse order */
22 {
23- d_char *list = NULL;
24+ xs_list *list = NULL;
25 FILE *f;
26 int n = 0;
27
28@@ -543,7 +543,7 @@ xs_list *index_list_desc(const char *fn, int skip, int show)
29
30 /** objects **/
31
32-d_char *_object_fn_by_md5(const char *md5)
33+xs_str *_object_fn_by_md5(const char *md5)
34 {
35 xs *bfn = xs_fmt("%s/object/%c%c", srv_basedir, md5[0], md5[1]);
36
37@@ -553,14 +553,14 @@ d_char *_object_fn_by_md5(const char *md5)
38 }
39
40
41-d_char *_object_fn(const char *id)
42+xs_str *_object_fn(const char *id)
43 {
44 xs *md5 = xs_md5_hex(id, strlen(id));
45 return _object_fn_by_md5(md5);
46 }
47
48
49-int object_here_by_md5(char *id)
50+int object_here_by_md5(const char *id)
51 /* checks if an object is already downloaded */
52 {
53 xs *fn = _object_fn_by_md5(id);
54@@ -568,7 +568,7 @@ int object_here_by_md5(char *id)
55 }
56
57
58-int object_here(char *id)
59+int object_here(const char *id)
60 /* checks if an object is already downloaded */
61 {
62 xs *fn = _object_fn(id);
63@@ -609,7 +609,7 @@ int object_get(const char *id, xs_dict **obj)
64 }
65
66
67-int _object_add(const char *id, d_char *obj, int ow)
68+int _object_add(const char *id, const xs_dict *obj, int ow)
69 /* stores an object */
70 {
71 int status = 201; /* Created */
72@@ -666,14 +666,14 @@ int _object_add(const char *id, d_char *obj, int ow)
73 }
74
75
76-int object_add(const char *id, d_char *obj)
77+int object_add(const char *id, const xs_dict *obj)
78 /* stores an object */
79 {
80 return _object_add(id, obj, 0);
81 }
82
83
84-int object_add_ow(const char *id, d_char *obj)
85+int object_add_ow(const char *id, const xs_dict *obj)
86 /* stores an object (overwriting allowed) */
87 {
88 return _object_add(id, obj, 1);
89@@ -744,10 +744,10 @@ double object_ctime(const char *id)
90 }
91
92
93-d_char *_object_index_fn(const char *id, const char *idxsfx)
94+xs_str *_object_index_fn(const char *id, const char *idxsfx)
95 /* returns the filename of an object's index */
96 {
97- d_char *fn = _object_fn(id);
98+ xs_str *fn = _object_fn(id);
99 return xs_replace_i(fn, ".json", idxsfx);
100 }
101
102@@ -879,7 +879,7 @@ int object_user_cache_in(snac *snac, const char *id, const char *cachedir)
103 }
104
105
106-d_char *object_user_cache_list(snac *snac, const char *cachedir, int max)
107+xs_list *object_user_cache_list(snac *snac, const char *cachedir, int max)
108 /* returns the objects in a cache as a list */
109 {
110 xs *idx = xs_fmt("%s/%s.idx", snac->basedir, cachedir);
111@@ -920,11 +920,11 @@ int follower_check(snac *snac, const char *actor)
112 }
113
114
115-d_char *follower_list(snac *snac)
116+xs_list *follower_list(snac *snac)
117 /* returns the list of followers */
118 {
119- xs *list = object_user_cache_list(snac, "followers", XS_ALL);
120- d_char *fwers = xs_list_new();
121+ xs *list = object_user_cache_list(snac, "followers", XS_ALL);
122+ xs_list *fwers = xs_list_new();
123 char *p, *v;
124
125 /* resolve the list of md5 to be a list of actors */
126@@ -1150,7 +1150,7 @@ xs_list *timeline_instance_list(int skip, int show)
127 with a link to a cached author, because we need the Follow object
128 in case we need to unfollow (Undo + original Follow) */
129
130-d_char *_following_fn(snac *snac, const char *actor)
131+xs_str *_following_fn(snac *snac, const char *actor)
132 {
133 xs *md5 = xs_md5_hex(actor, strlen(actor));
134 return xs_fmt("%s/following/%s.json", snac->basedir, md5);
135@@ -1201,7 +1201,7 @@ int following_check(snac *snac, const char *actor)
136 }
137
138
139-int following_get(snac *snac, const char *actor, d_char **data)
140+int following_get(snac *snac, const char *actor, xs_dict **data)
141 /* returns the 'Follow' object */
142 {
143 xs *fn = _following_fn(snac, actor);
144@@ -1262,7 +1262,7 @@ xs_list *following_list(snac *snac)
145 }
146
147
148-d_char *_muted_fn(snac *snac, const char *actor)
149+xs_str *_muted_fn(snac *snac, const char *actor)
150 {
151 xs *md5 = xs_md5_hex(actor, strlen(actor));
152 return xs_fmt("%s/muted/%s", snac->basedir, md5);
153@@ -1304,7 +1304,7 @@ int is_muted(snac *snac, const char *actor)
154 }
155
156
157-d_char *_hidden_fn(snac *snac, const char *id)
158+xs_str *_hidden_fn(snac *snac, const char *id)
159 {
160 xs *md5 = xs_md5_hex(id, strlen(id));
161 return xs_fmt("%s/hidden/%s", snac->basedir, md5);
162@@ -1424,7 +1424,7 @@ int actor_get(snac *snac1, const char *actor, xs_dict **data)
163
164 /** static data **/
165
166-d_char *_static_fn(snac *snac, const char *id)
167+xs_str *_static_fn(snac *snac, const char *id)
168 /* gets the filename for a static file */
169 {
170 if (strchr(id, '/'))
171@@ -1434,7 +1434,7 @@ d_char *_static_fn(snac *snac, const char *id)
172 }
173
174
175-int static_get(snac *snac, const char *id, d_char **data, int *size)
176+int static_get(snac *snac, const char *id, xs_val **data, int *size)
177 /* returns static content */
178 {
179 xs *fn = _static_fn(snac, id);
M
snac.h
+7,
-7
1@@ -73,10 +73,10 @@ int index_len(const char *fn);
2 xs_list *index_list(const char *fn, int max);
3 xs_list *index_list_desc(const char *fn, int skip, int show);
4
5-int object_add(const char *id, d_char *obj);
6-int object_add_ow(const char *id, d_char *obj);
7-int object_here_by_md5(char *id);
8-int object_here(char *id);
9+int object_add(const char *id, const xs_dict *obj);
10+int object_add_ow(const char *id, const xs_dict *obj);
11+int object_here_by_md5(const char *id);
12+int object_here(const char *id);
13 int object_get_by_md5(const char *md5, xs_dict **obj);
14 int object_get(const char *id, xs_dict **obj);
15 int object_del(const char *id);
16@@ -100,7 +100,7 @@ int object_user_cache_del(snac *snac, const char *id, const char *cachedir);
17 int follower_add(snac *snac, const char *actor);
18 int follower_del(snac *snac, const char *actor);
19 int follower_check(snac *snac, const char *actor);
20-d_char *follower_list(snac *snac);
21+xs_list *follower_list(snac *snac);
22
23 double timeline_mtime(snac *snac);
24 int timeline_touch(snac *snac);
25@@ -119,7 +119,7 @@ xs_list *timeline_instance_list(int skip, int show);
26 int following_add(snac *snac, const char *actor, const xs_dict *msg);
27 int following_del(snac *snac, const char *actor);
28 int following_check(snac *snac, const char *actor);
29-int following_get(snac *snac, const char *actor, d_char **data);
30+int following_get(snac *snac, const char *actor, xs_dict **data);
31 xs_list *following_list(snac *snac);
32
33 void mute(snac *snac, const char *actor);
34@@ -132,7 +132,7 @@ int is_hidden(snac *snac, const char *id);
35 int actor_add(const char *actor, xs_dict *msg);
36 int actor_get(snac *snac, const char *actor, xs_dict **data);
37
38-int static_get(snac *snac, const char *id, d_char **data, int *size);
39+int static_get(snac *snac, const char *id, xs_val **data, int *size);
40 void static_put(snac *snac, const char *id, const char *data, int size);
41 void static_put_meta(snac *snac, const char *id, const char *str);
42 xs_str *static_get_meta(snac *snac, const char *id);