diff options
Diffstat (limited to 'data.c')
| -rw-r--r-- | data.c | 58 |
1 files changed, 31 insertions, 27 deletions
| @@ -193,7 +193,7 @@ int user_open(snac *user, const char *uid) | |||
| 193 | xs *lcuid = xs_tolower_i(xs_dup(uid)); | 193 | xs *lcuid = xs_tolower_i(xs_dup(uid)); |
| 194 | xs *ulist = user_list(); | 194 | xs *ulist = user_list(); |
| 195 | xs_list *p = ulist; | 195 | xs_list *p = ulist; |
| 196 | xs_str *v; | 196 | const xs_str *v; |
| 197 | 197 | ||
| 198 | while (xs_list_iter(&p, &v)) { | 198 | while (xs_list_iter(&p, &v)) { |
| 199 | xs *v2 = xs_tolower_i(xs_dup(v)); | 199 | xs *v2 = xs_tolower_i(xs_dup(v)); |
| @@ -289,7 +289,7 @@ int user_open_by_md5(snac *snac, const char *md5) | |||
| 289 | { | 289 | { |
| 290 | xs *ulist = user_list(); | 290 | xs *ulist = user_list(); |
| 291 | xs_list *p = ulist; | 291 | xs_list *p = ulist; |
| 292 | xs_str *v; | 292 | const xs_str *v; |
| 293 | 293 | ||
| 294 | while (xs_list_iter(&p, &v)) { | 294 | while (xs_list_iter(&p, &v)) { |
| 295 | user_open(snac, v); | 295 | user_open(snac, v); |
| @@ -772,7 +772,8 @@ int object_del_by_md5(const char *md5) | |||
| 772 | xs *spec = xs_dup(fn); | 772 | xs *spec = xs_dup(fn); |
| 773 | spec = xs_replace_i(spec, ".json", "*.idx"); | 773 | spec = xs_replace_i(spec, ".json", "*.idx"); |
| 774 | xs *files = xs_glob(spec, 0, 0); | 774 | xs *files = xs_glob(spec, 0, 0); |
| 775 | char *p, *v; | 775 | char *p; |
| 776 | const char *v; | ||
| 776 | 777 | ||
| 777 | p = files; | 778 | p = files; |
| 778 | while (xs_list_iter(&p, &v)) { | 779 | while (xs_list_iter(&p, &v)) { |
| @@ -1033,7 +1034,8 @@ xs_list *follower_list(snac *snac) | |||
| 1033 | { | 1034 | { |
| 1034 | xs *list = object_user_cache_list(snac, "followers", XS_ALL, 0); | 1035 | xs *list = object_user_cache_list(snac, "followers", XS_ALL, 0); |
| 1035 | xs_list *fwers = xs_list_new(); | 1036 | xs_list *fwers = xs_list_new(); |
| 1036 | char *p, *v; | 1037 | char *p; |
| 1038 | const char *v; | ||
| 1037 | 1039 | ||
| 1038 | /* resolve the list of md5 to be a list of actors */ | 1040 | /* resolve the list of md5 to be a list of actors */ |
| 1039 | p = list; | 1041 | p = list; |
| @@ -1196,7 +1198,7 @@ xs_list *timeline_top_level(snac *snac, const xs_list *list) | |||
| 1196 | /* returns the top level md5 entries from this index */ | 1198 | /* returns the top level md5 entries from this index */ |
| 1197 | { | 1199 | { |
| 1198 | xs_set seen; | 1200 | xs_set seen; |
| 1199 | xs_str *v; | 1201 | const xs_str *v; |
| 1200 | 1202 | ||
| 1201 | xs_set_init(&seen); | 1203 | xs_set_init(&seen); |
| 1202 | 1204 | ||
| @@ -1367,7 +1369,7 @@ xs_list *following_list(snac *snac) | |||
| 1367 | xs *spec = xs_fmt("%s/following/" "*.json", snac->basedir); | 1369 | xs *spec = xs_fmt("%s/following/" "*.json", snac->basedir); |
| 1368 | xs *glist = xs_glob(spec, 0, 0); | 1370 | xs *glist = xs_glob(spec, 0, 0); |
| 1369 | xs_list *p; | 1371 | xs_list *p; |
| 1370 | xs_str *v; | 1372 | const xs_str *v; |
| 1371 | xs_list *list = xs_list_new(); | 1373 | xs_list *list = xs_list_new(); |
| 1372 | 1374 | ||
| 1373 | /* iterate the list of files */ | 1375 | /* iterate the list of files */ |
| @@ -1537,7 +1539,8 @@ void hide(snac *snac, const char *id) | |||
| 1537 | 1539 | ||
| 1538 | /* hide all the children */ | 1540 | /* hide all the children */ |
| 1539 | xs *chld = object_children(id); | 1541 | xs *chld = object_children(id); |
| 1540 | char *p, *v; | 1542 | char *p; |
| 1543 | const char *v; | ||
| 1541 | 1544 | ||
| 1542 | p = chld; | 1545 | p = chld; |
| 1543 | while (xs_list_iter(&p, &v)) { | 1546 | while (xs_list_iter(&p, &v)) { |
| @@ -1694,7 +1697,7 @@ void tag_index(const char *id, const xs_dict *obj) | |||
| 1694 | 1697 | ||
| 1695 | mkdirx(g_tag_dir); | 1698 | mkdirx(g_tag_dir); |
| 1696 | 1699 | ||
| 1697 | xs_dict *v; | 1700 | const xs_dict *v; |
| 1698 | int ct = 0; | 1701 | int ct = 0; |
| 1699 | while (xs_list_next(tags, &v, &ct)) { | 1702 | while (xs_list_next(tags, &v, &ct)) { |
| 1700 | const char *type = xs_dict_get(v, "type"); | 1703 | const char *type = xs_dict_get(v, "type"); |
| @@ -1758,7 +1761,7 @@ xs_val *list_maint(snac *user, const char *list, int op) | |||
| 1758 | xs *spec = xs_fmt("%s/list/" "*.id", user->basedir); | 1761 | xs *spec = xs_fmt("%s/list/" "*.id", user->basedir); |
| 1759 | xs *ls = xs_glob(spec, 0, 0); | 1762 | xs *ls = xs_glob(spec, 0, 0); |
| 1760 | int c = 0; | 1763 | int c = 0; |
| 1761 | char *v; | 1764 | const char *v; |
| 1762 | 1765 | ||
| 1763 | l = xs_list_new(); | 1766 | l = xs_list_new(); |
| 1764 | 1767 | ||
| @@ -1784,7 +1787,7 @@ xs_val *list_maint(snac *user, const char *list, int op) | |||
| 1784 | { | 1787 | { |
| 1785 | xs *lol = list_maint(user, NULL, 0); | 1788 | xs *lol = list_maint(user, NULL, 0); |
| 1786 | int c = 0; | 1789 | int c = 0; |
| 1787 | xs_list *v; | 1790 | const xs_list *v; |
| 1788 | int add = 1; | 1791 | int add = 1; |
| 1789 | 1792 | ||
| 1790 | /* check if this list name already exists */ | 1793 | /* check if this list name already exists */ |
| @@ -1925,7 +1928,7 @@ void list_distribute(snac *user, const char *who, const xs_dict *post) | |||
| 1925 | xs *spec = xs_fmt("%s/list/" "*.lst", user->basedir); | 1928 | xs *spec = xs_fmt("%s/list/" "*.lst", user->basedir); |
| 1926 | xs *ls = xs_glob(spec, 0, 0); | 1929 | xs *ls = xs_glob(spec, 0, 0); |
| 1927 | int c = 0; | 1930 | int c = 0; |
| 1928 | char *v; | 1931 | const char *v; |
| 1929 | 1932 | ||
| 1930 | while (xs_list_next(ls, &v, &c)) { | 1933 | while (xs_list_next(ls, &v, &c)) { |
| 1931 | /* is the actor in this list? */ | 1934 | /* is the actor in this list? */ |
| @@ -2183,7 +2186,7 @@ xs_list *inbox_list(void) | |||
| 2183 | xs *spec = xs_fmt("%s/inbox/" "*", srv_basedir); | 2186 | xs *spec = xs_fmt("%s/inbox/" "*", srv_basedir); |
| 2184 | xs *files = xs_glob(spec, 0, 0); | 2187 | xs *files = xs_glob(spec, 0, 0); |
| 2185 | xs_list *p = files; | 2188 | xs_list *p = files; |
| 2186 | xs_val *v; | 2189 | const xs_val *v; |
| 2187 | 2190 | ||
| 2188 | while (xs_list_iter(&p, &v)) { | 2191 | while (xs_list_iter(&p, &v)) { |
| 2189 | FILE *f; | 2192 | FILE *f; |
| @@ -2329,8 +2332,8 @@ xs_list *content_search(snac *user, const char *regex, | |||
| 2329 | 2332 | ||
| 2330 | /* iterate all timelines simultaneously */ | 2333 | /* iterate all timelines simultaneously */ |
| 2331 | xs_list *tls[3] = {0}; | 2334 | xs_list *tls[3] = {0}; |
| 2332 | char *md5s[3] = {0}; | 2335 | const char *md5s[3] = {0}; |
| 2333 | int c[3] = {0}; | 2336 | int c[3] = {0}; |
| 2334 | 2337 | ||
| 2335 | tls[0] = timeline_simple_list(user, "public", 0, XS_ALL); /* public */ | 2338 | tls[0] = timeline_simple_list(user, "public", 0, XS_ALL); /* public */ |
| 2336 | tls[1] = timeline_instance_list(0, XS_ALL); /* instance */ | 2339 | tls[1] = timeline_instance_list(0, XS_ALL); /* instance */ |
| @@ -2368,7 +2371,7 @@ xs_list *content_search(snac *user, const char *regex, | |||
| 2368 | if (newest == -1) | 2371 | if (newest == -1) |
| 2369 | break; | 2372 | break; |
| 2370 | 2373 | ||
| 2371 | char *md5 = md5s[newest]; | 2374 | const char *md5 = md5s[newest]; |
| 2372 | 2375 | ||
| 2373 | /* advance the chosen timeline */ | 2376 | /* advance the chosen timeline */ |
| 2374 | if (!xs_list_next(tls[newest], &md5s[newest], &c[newest])) | 2377 | if (!xs_list_next(tls[newest], &md5s[newest], &c[newest])) |
| @@ -2534,7 +2537,7 @@ xs_list *notify_list(snac *snac, int skip, int show) | |||
| 2534 | xs *spec = xs_fmt("%s/notify/" "*.json", snac->basedir); | 2537 | xs *spec = xs_fmt("%s/notify/" "*.json", snac->basedir); |
| 2535 | xs *lst = xs_glob(spec, 1, 0); | 2538 | xs *lst = xs_glob(spec, 1, 0); |
| 2536 | xs_list *p = lst; | 2539 | xs_list *p = lst; |
| 2537 | char *v; | 2540 | const char *v; |
| 2538 | 2541 | ||
| 2539 | while (xs_list_iter(&p, &v)) { | 2542 | while (xs_list_iter(&p, &v)) { |
| 2540 | char *p = strrchr(v, '.'); | 2543 | char *p = strrchr(v, '.'); |
| @@ -2562,7 +2565,7 @@ int notify_new_num(snac *snac) | |||
| 2562 | int cnt = 0; | 2565 | int cnt = 0; |
| 2563 | 2566 | ||
| 2564 | xs_list *p = lst; | 2567 | xs_list *p = lst; |
| 2565 | xs_str *v; | 2568 | const xs_str *v; |
| 2566 | 2569 | ||
| 2567 | while (xs_list_iter(&p, &v)) { | 2570 | while (xs_list_iter(&p, &v)) { |
| 2568 | xs *id = xs_strip_i(xs_dup(v)); | 2571 | xs *id = xs_strip_i(xs_dup(v)); |
| @@ -2584,7 +2587,7 @@ void notify_clear(snac *snac) | |||
| 2584 | xs *spec = xs_fmt("%s/notify/" "*", snac->basedir); | 2587 | xs *spec = xs_fmt("%s/notify/" "*", snac->basedir); |
| 2585 | xs *lst = xs_glob(spec, 0, 0); | 2588 | xs *lst = xs_glob(spec, 0, 0); |
| 2586 | xs_list *p = lst; | 2589 | xs_list *p = lst; |
| 2587 | xs_str *v; | 2590 | const xs_str *v; |
| 2588 | 2591 | ||
| 2589 | while (xs_list_iter(&p, &v)) | 2592 | while (xs_list_iter(&p, &v)) |
| 2590 | unlink(v); | 2593 | unlink(v); |
| @@ -2842,7 +2845,7 @@ int was_question_voted(snac *user, const char *id) | |||
| 2842 | xs *children = object_children(id); | 2845 | xs *children = object_children(id); |
| 2843 | int voted = 0; | 2846 | int voted = 0; |
| 2844 | xs_list *p; | 2847 | xs_list *p; |
| 2845 | xs_str *md5; | 2848 | const xs_str *md5; |
| 2846 | 2849 | ||
| 2847 | p = children; | 2850 | p = children; |
| 2848 | while (xs_list_iter(&p, &md5)) { | 2851 | while (xs_list_iter(&p, &md5)) { |
| @@ -2869,7 +2872,7 @@ xs_list *user_queue(snac *snac) | |||
| 2869 | xs_list *list = xs_list_new(); | 2872 | xs_list *list = xs_list_new(); |
| 2870 | time_t t = time(NULL); | 2873 | time_t t = time(NULL); |
| 2871 | xs_list *p; | 2874 | xs_list *p; |
| 2872 | xs_val *v; | 2875 | const xs_val *v; |
| 2873 | 2876 | ||
| 2874 | xs *fns = xs_glob(spec, 0, 0); | 2877 | xs *fns = xs_glob(spec, 0, 0); |
| 2875 | 2878 | ||
| @@ -2898,7 +2901,7 @@ xs_list *queue(void) | |||
| 2898 | xs_list *list = xs_list_new(); | 2901 | xs_list *list = xs_list_new(); |
| 2899 | time_t t = time(NULL); | 2902 | time_t t = time(NULL); |
| 2900 | xs_list *p; | 2903 | xs_list *p; |
| 2901 | xs_val *v; | 2904 | const xs_val *v; |
| 2902 | 2905 | ||
| 2903 | xs *fns = xs_glob(spec, 0, 0); | 2906 | xs *fns = xs_glob(spec, 0, 0); |
| 2904 | 2907 | ||
| @@ -2974,7 +2977,7 @@ static void _purge_dir(const char *dir, int days) | |||
| 2974 | xs *spec = xs_fmt("%s/" "*", dir); | 2977 | xs *spec = xs_fmt("%s/" "*", dir); |
| 2975 | xs *list = xs_glob(spec, 0, 0); | 2978 | xs *list = xs_glob(spec, 0, 0); |
| 2976 | xs_list *p; | 2979 | xs_list *p; |
| 2977 | xs_str *v; | 2980 | const xs_str *v; |
| 2978 | 2981 | ||
| 2979 | p = list; | 2982 | p = list; |
| 2980 | while (xs_list_iter(&p, &v)) | 2983 | while (xs_list_iter(&p, &v)) |
| @@ -3000,7 +3003,7 @@ void purge_server(void) | |||
| 3000 | xs *spec = xs_fmt("%s/object/??", srv_basedir); | 3003 | xs *spec = xs_fmt("%s/object/??", srv_basedir); |
| 3001 | xs *dirs = xs_glob(spec, 0, 0); | 3004 | xs *dirs = xs_glob(spec, 0, 0); |
| 3002 | xs_list *p; | 3005 | xs_list *p; |
| 3003 | xs_str *v; | 3006 | const xs_str *v; |
| 3004 | int cnt = 0; | 3007 | int cnt = 0; |
| 3005 | int icnt = 0; | 3008 | int icnt = 0; |
| 3006 | 3009 | ||
| @@ -3009,7 +3012,7 @@ void purge_server(void) | |||
| 3009 | p = dirs; | 3012 | p = dirs; |
| 3010 | while (xs_list_iter(&p, &v)) { | 3013 | while (xs_list_iter(&p, &v)) { |
| 3011 | xs_list *p2; | 3014 | xs_list *p2; |
| 3012 | xs_str *v2; | 3015 | const xs_str *v2; |
| 3013 | 3016 | ||
| 3014 | { | 3017 | { |
| 3015 | xs *spec2 = xs_fmt("%s/" "*.json", v); | 3018 | xs *spec2 = xs_fmt("%s/" "*.json", v); |
| @@ -3088,7 +3091,7 @@ void purge_server(void) | |||
| 3088 | xs *spec2 = xs_fmt("%s/" "*.idx", v); | 3091 | xs *spec2 = xs_fmt("%s/" "*.idx", v); |
| 3089 | xs *files = xs_glob(spec2, 0, 0); | 3092 | xs *files = xs_glob(spec2, 0, 0); |
| 3090 | xs_list *p2; | 3093 | xs_list *p2; |
| 3091 | xs_str *v2; | 3094 | const xs_str *v2; |
| 3092 | 3095 | ||
| 3093 | p2 = files; | 3096 | p2 = files; |
| 3094 | while (xs_list_iter(&p2, &v2)) { | 3097 | while (xs_list_iter(&p2, &v2)) { |
| @@ -3152,7 +3155,7 @@ void purge_user(snac *snac) | |||
| 3152 | xs *spec = xs_fmt("%s/list/" "*.idx", snac->basedir); | 3155 | xs *spec = xs_fmt("%s/list/" "*.idx", snac->basedir); |
| 3153 | xs *lol = xs_glob(spec, 0, 0); | 3156 | xs *lol = xs_glob(spec, 0, 0); |
| 3154 | int c = 0; | 3157 | int c = 0; |
| 3155 | char *v; | 3158 | const char *v; |
| 3156 | 3159 | ||
| 3157 | while (xs_list_next(lol, &v, &c)) { | 3160 | while (xs_list_next(lol, &v, &c)) { |
| 3158 | int gc = index_gc(v); | 3161 | int gc = index_gc(v); |
| @@ -3170,7 +3173,8 @@ void purge_all(void) | |||
| 3170 | { | 3173 | { |
| 3171 | snac snac; | 3174 | snac snac; |
| 3172 | xs *list = user_list(); | 3175 | xs *list = user_list(); |
| 3173 | char *p, *uid; | 3176 | char *p; |
| 3177 | const char *uid; | ||
| 3174 | 3178 | ||
| 3175 | p = list; | 3179 | p = list; |
| 3176 | while (xs_list_iter(&p, &uid)) { | 3180 | while (xs_list_iter(&p, &uid)) { |