summaryrefslogtreecommitdiff
path: root/data.c
diff options
context:
space:
mode:
Diffstat (limited to 'data.c')
-rw-r--r--data.c58
1 files changed, 31 insertions, 27 deletions
diff --git a/data.c b/data.c
index 6ac115d..f507078 100644
--- a/data.c
+++ b/data.c
@@ -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)) {