commit 125317a

default  ·  2023-06-07 09:08:14 +0000 UTC
parent 33f1f91
Some prototype update.
2 files changed,  +29, -29
M data.c
M snac.h
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);