summaryrefslogtreecommitdiff
path: root/data.c
diff options
context:
space:
mode:
authorGravatar default2023-06-07 11:08:14 +0200
committerGravatar default2023-06-07 11:08:14 +0200
commit125317ac47d198f3251881f38af64b6f0a2be694 (patch)
tree2820a812fde06c3b947c8fcbcf3b7c0bfc33632e /data.c
parentUpdated documentation. (diff)
downloadsnac2-125317ac47d198f3251881f38af64b6f0a2be694.tar.gz
snac2-125317ac47d198f3251881f38af64b6f0a2be694.tar.xz
snac2-125317ac47d198f3251881f38af64b6f0a2be694.zip
Some prototype update.
Diffstat (limited to 'data.c')
-rw-r--r--data.c44
1 files changed, 22 insertions, 22 deletions
diff --git a/data.c b/data.c
index 241ffbe..27f62a9 100644
--- a/data.c
+++ b/data.c
@@ -32,7 +32,7 @@ int srv_open(char *basedir, int auto_upgrade)
32 int ret = 0; 32 int ret = 0;
33 xs *cfg_file = NULL; 33 xs *cfg_file = NULL;
34 FILE *f; 34 FILE *f;
35 d_char *error = NULL; 35 xs_str *error = NULL;
36 36
37 pthread_mutex_init(&data_mutex, NULL); 37 pthread_mutex_init(&data_mutex, NULL);
38 38
@@ -485,7 +485,7 @@ int index_len(const char *fn)
485xs_list *index_list(const char *fn, int max) 485xs_list *index_list(const char *fn, int max)
486/* returns an index as a list */ 486/* returns an index as a list */
487{ 487{
488 d_char *list = NULL; 488 xs_list *list = NULL;
489 FILE *f; 489 FILE *f;
490 int n = 0; 490 int n = 0;
491 491
@@ -511,7 +511,7 @@ xs_list *index_list(const char *fn, int max)
511xs_list *index_list_desc(const char *fn, int skip, int show) 511xs_list *index_list_desc(const char *fn, int skip, int show)
512/* returns an index as a list, in reverse order */ 512/* returns an index as a list, in reverse order */
513{ 513{
514 d_char *list = NULL; 514 xs_list *list = NULL;
515 FILE *f; 515 FILE *f;
516 int n = 0; 516 int n = 0;
517 517
@@ -543,7 +543,7 @@ xs_list *index_list_desc(const char *fn, int skip, int show)
543 543
544/** objects **/ 544/** objects **/
545 545
546d_char *_object_fn_by_md5(const char *md5) 546xs_str *_object_fn_by_md5(const char *md5)
547{ 547{
548 xs *bfn = xs_fmt("%s/object/%c%c", srv_basedir, md5[0], md5[1]); 548 xs *bfn = xs_fmt("%s/object/%c%c", srv_basedir, md5[0], md5[1]);
549 549
@@ -553,14 +553,14 @@ d_char *_object_fn_by_md5(const char *md5)
553} 553}
554 554
555 555
556d_char *_object_fn(const char *id) 556xs_str *_object_fn(const char *id)
557{ 557{
558 xs *md5 = xs_md5_hex(id, strlen(id)); 558 xs *md5 = xs_md5_hex(id, strlen(id));
559 return _object_fn_by_md5(md5); 559 return _object_fn_by_md5(md5);
560} 560}
561 561
562 562
563int object_here_by_md5(char *id) 563int object_here_by_md5(const char *id)
564/* checks if an object is already downloaded */ 564/* checks if an object is already downloaded */
565{ 565{
566 xs *fn = _object_fn_by_md5(id); 566 xs *fn = _object_fn_by_md5(id);
@@ -568,7 +568,7 @@ int object_here_by_md5(char *id)
568} 568}
569 569
570 570
571int object_here(char *id) 571int object_here(const char *id)
572/* checks if an object is already downloaded */ 572/* checks if an object is already downloaded */
573{ 573{
574 xs *fn = _object_fn(id); 574 xs *fn = _object_fn(id);
@@ -609,7 +609,7 @@ int object_get(const char *id, xs_dict **obj)
609} 609}
610 610
611 611
612int _object_add(const char *id, d_char *obj, int ow) 612int _object_add(const char *id, const xs_dict *obj, int ow)
613/* stores an object */ 613/* stores an object */
614{ 614{
615 int status = 201; /* Created */ 615 int status = 201; /* Created */
@@ -666,14 +666,14 @@ int _object_add(const char *id, d_char *obj, int ow)
666} 666}
667 667
668 668
669int object_add(const char *id, d_char *obj) 669int object_add(const char *id, const xs_dict *obj)
670/* stores an object */ 670/* stores an object */
671{ 671{
672 return _object_add(id, obj, 0); 672 return _object_add(id, obj, 0);
673} 673}
674 674
675 675
676int object_add_ow(const char *id, d_char *obj) 676int object_add_ow(const char *id, const xs_dict *obj)
677/* stores an object (overwriting allowed) */ 677/* stores an object (overwriting allowed) */
678{ 678{
679 return _object_add(id, obj, 1); 679 return _object_add(id, obj, 1);
@@ -744,10 +744,10 @@ double object_ctime(const char *id)
744} 744}
745 745
746 746
747d_char *_object_index_fn(const char *id, const char *idxsfx) 747xs_str *_object_index_fn(const char *id, const char *idxsfx)
748/* returns the filename of an object's index */ 748/* returns the filename of an object's index */
749{ 749{
750 d_char *fn = _object_fn(id); 750 xs_str *fn = _object_fn(id);
751 return xs_replace_i(fn, ".json", idxsfx); 751 return xs_replace_i(fn, ".json", idxsfx);
752} 752}
753 753
@@ -879,7 +879,7 @@ int object_user_cache_in(snac *snac, const char *id, const char *cachedir)
879} 879}
880 880
881 881
882d_char *object_user_cache_list(snac *snac, const char *cachedir, int max) 882xs_list *object_user_cache_list(snac *snac, const char *cachedir, int max)
883/* returns the objects in a cache as a list */ 883/* returns the objects in a cache as a list */
884{ 884{
885 xs *idx = xs_fmt("%s/%s.idx", snac->basedir, cachedir); 885 xs *idx = xs_fmt("%s/%s.idx", snac->basedir, cachedir);
@@ -920,11 +920,11 @@ int follower_check(snac *snac, const char *actor)
920} 920}
921 921
922 922
923d_char *follower_list(snac *snac) 923xs_list *follower_list(snac *snac)
924/* returns the list of followers */ 924/* returns the list of followers */
925{ 925{
926 xs *list = object_user_cache_list(snac, "followers", XS_ALL); 926 xs *list = object_user_cache_list(snac, "followers", XS_ALL);
927 d_char *fwers = xs_list_new(); 927 xs_list *fwers = xs_list_new();
928 char *p, *v; 928 char *p, *v;
929 929
930 /* resolve the list of md5 to be a list of actors */ 930 /* resolve the list of md5 to be a list of actors */
@@ -1150,7 +1150,7 @@ xs_list *timeline_instance_list(int skip, int show)
1150 with a link to a cached author, because we need the Follow object 1150 with a link to a cached author, because we need the Follow object
1151 in case we need to unfollow (Undo + original Follow) */ 1151 in case we need to unfollow (Undo + original Follow) */
1152 1152
1153d_char *_following_fn(snac *snac, const char *actor) 1153xs_str *_following_fn(snac *snac, const char *actor)
1154{ 1154{
1155 xs *md5 = xs_md5_hex(actor, strlen(actor)); 1155 xs *md5 = xs_md5_hex(actor, strlen(actor));
1156 return xs_fmt("%s/following/%s.json", snac->basedir, md5); 1156 return xs_fmt("%s/following/%s.json", snac->basedir, md5);
@@ -1201,7 +1201,7 @@ int following_check(snac *snac, const char *actor)
1201} 1201}
1202 1202
1203 1203
1204int following_get(snac *snac, const char *actor, d_char **data) 1204int following_get(snac *snac, const char *actor, xs_dict **data)
1205/* returns the 'Follow' object */ 1205/* returns the 'Follow' object */
1206{ 1206{
1207 xs *fn = _following_fn(snac, actor); 1207 xs *fn = _following_fn(snac, actor);
@@ -1262,7 +1262,7 @@ xs_list *following_list(snac *snac)
1262} 1262}
1263 1263
1264 1264
1265d_char *_muted_fn(snac *snac, const char *actor) 1265xs_str *_muted_fn(snac *snac, const char *actor)
1266{ 1266{
1267 xs *md5 = xs_md5_hex(actor, strlen(actor)); 1267 xs *md5 = xs_md5_hex(actor, strlen(actor));
1268 return xs_fmt("%s/muted/%s", snac->basedir, md5); 1268 return xs_fmt("%s/muted/%s", snac->basedir, md5);
@@ -1304,7 +1304,7 @@ int is_muted(snac *snac, const char *actor)
1304} 1304}
1305 1305
1306 1306
1307d_char *_hidden_fn(snac *snac, const char *id) 1307xs_str *_hidden_fn(snac *snac, const char *id)
1308{ 1308{
1309 xs *md5 = xs_md5_hex(id, strlen(id)); 1309 xs *md5 = xs_md5_hex(id, strlen(id));
1310 return xs_fmt("%s/hidden/%s", snac->basedir, md5); 1310 return xs_fmt("%s/hidden/%s", snac->basedir, md5);
@@ -1424,7 +1424,7 @@ int actor_get(snac *snac1, const char *actor, xs_dict **data)
1424 1424
1425/** static data **/ 1425/** static data **/
1426 1426
1427d_char *_static_fn(snac *snac, const char *id) 1427xs_str *_static_fn(snac *snac, const char *id)
1428/* gets the filename for a static file */ 1428/* gets the filename for a static file */
1429{ 1429{
1430 if (strchr(id, '/')) 1430 if (strchr(id, '/'))
@@ -1434,7 +1434,7 @@ d_char *_static_fn(snac *snac, const char *id)
1434} 1434}
1435 1435
1436 1436
1437int static_get(snac *snac, const char *id, d_char **data, int *size) 1437int static_get(snac *snac, const char *id, xs_val **data, int *size)
1438/* returns static content */ 1438/* returns static content */
1439{ 1439{
1440 xs *fn = _static_fn(snac, id); 1440 xs *fn = _static_fn(snac, id);