diff options
| author | 2023-06-07 11:08:14 +0200 | |
|---|---|---|
| committer | 2023-06-07 11:08:14 +0200 | |
| commit | 125317ac47d198f3251881f38af64b6f0a2be694 (patch) | |
| tree | 2820a812fde06c3b947c8fcbcf3b7c0bfc33632e /data.c | |
| parent | Updated documentation. (diff) | |
| download | snac2-125317ac47d198f3251881f38af64b6f0a2be694.tar.gz snac2-125317ac47d198f3251881f38af64b6f0a2be694.tar.xz snac2-125317ac47d198f3251881f38af64b6f0a2be694.zip | |
Some prototype update.
Diffstat (limited to 'data.c')
| -rw-r--r-- | data.c | 44 |
1 files changed, 22 insertions, 22 deletions
| @@ -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) | |||
| 485 | xs_list *index_list(const char *fn, int max) | 485 | xs_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) | |||
| 511 | xs_list *index_list_desc(const char *fn, int skip, int show) | 511 | xs_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 | ||
| 546 | d_char *_object_fn_by_md5(const char *md5) | 546 | xs_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 | ||
| 556 | d_char *_object_fn(const char *id) | 556 | xs_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 | ||
| 563 | int object_here_by_md5(char *id) | 563 | int 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 | ||
| 571 | int object_here(char *id) | 571 | int 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 | ||
| 612 | int _object_add(const char *id, d_char *obj, int ow) | 612 | int _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 | ||
| 669 | int object_add(const char *id, d_char *obj) | 669 | int 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 | ||
| 676 | int object_add_ow(const char *id, d_char *obj) | 676 | int 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 | ||
| 747 | d_char *_object_index_fn(const char *id, const char *idxsfx) | 747 | xs_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 | ||
| 882 | d_char *object_user_cache_list(snac *snac, const char *cachedir, int max) | 882 | xs_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 | ||
| 923 | d_char *follower_list(snac *snac) | 923 | xs_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 | ||
| 1153 | d_char *_following_fn(snac *snac, const char *actor) | 1153 | xs_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 | ||
| 1204 | int following_get(snac *snac, const char *actor, d_char **data) | 1204 | int 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 | ||
| 1265 | d_char *_muted_fn(snac *snac, const char *actor) | 1265 | xs_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 | ||
| 1307 | d_char *_hidden_fn(snac *snac, const char *id) | 1307 | xs_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 | ||
| 1427 | d_char *_static_fn(snac *snac, const char *id) | 1427 | xs_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 | ||
| 1437 | int static_get(snac *snac, const char *id, d_char **data, int *size) | 1437 | int 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); |