Use xs_glob() in follower_list().

This commit is contained in:
default 2022-10-03 10:56:15 +02:00
parent 53c62db73d
commit 365b27ffb2

28
data.c
View file

@ -256,34 +256,30 @@ int follower_check(snac *snac, char *actor)
d_char *follower_list(snac *snac) d_char *follower_list(snac *snac)
/* returns the list of followers */ /* returns the list of followers */
{ {
d_char *list; xs *spec = xs_fmt("%s/followers/" "*.json", snac->basedir);
xs *spec; xs *glist = xs_glob(spec, 0, 0);
glob_t globbuf; char *p, *v;
d_char *list = xs_list_new();
list = xs_list_new(); /* iterate the list of files */
spec = xs_fmt("%s/followers/" "*.json", snac->basedir); p = glist;
while (xs_list_iter(&p, &v)) {
if (glob(spec, 0, NULL, &globbuf) == 0) {
int n;
char *fn;
for (n = 0; (fn = globbuf.gl_pathv[n]) != NULL; n++) {
FILE *f; FILE *f;
if ((f = fopen(fn, "r")) != NULL) { /* load the follower data */
if ((f = fopen(v, "r")) != NULL) {
xs *j = xs_readall(f); xs *j = xs_readall(f);
fclose(f);
if (j != NULL) {
xs *o = xs_json_loads(j); xs *o = xs_json_loads(j);
if (o != NULL) if (o != NULL)
list = xs_list_append(list, o); list = xs_list_append(list, o);
fclose(f);
} }
} }
} }
globfree(&globbuf);
return list; return list;
} }