commit 365b27ffb255e5ea9529640b17001e4ad5fcca2d
parent 53c62db73d1f72d82113bf716e6e6fa4a7811b8c
Author: default <nobody@localhost>
Date: Mon, 3 Oct 2022 10:56:15 +0200
Use xs_glob() in follower_list().
Diffstat:
M | data.c | | | 30 | +++++++++++++----------------- |
1 file changed, 13 insertions(+), 17 deletions(-)
diff --git a/data.c b/data.c
@@ -256,34 +256,30 @@ int follower_check(snac *snac, char *actor)
d_char *follower_list(snac *snac)
/* returns the list of followers */
{
- d_char *list;
- xs *spec;
- glob_t globbuf;
-
- list = xs_list_new();
- spec = xs_fmt("%s/followers/" "*.json", snac->basedir);
+ xs *spec = xs_fmt("%s/followers/" "*.json", snac->basedir);
+ xs *glist = xs_glob(spec, 0, 0);
+ char *p, *v;
+ d_char *list = xs_list_new();
- if (glob(spec, 0, NULL, &globbuf) == 0) {
- int n;
- char *fn;
+ /* iterate the list of files */
+ p = glist;
+ while (xs_list_iter(&p, &v)) {
+ FILE *f;
- for (n = 0; (fn = globbuf.gl_pathv[n]) != NULL; n++) {
- FILE *f;
+ /* load the follower data */
+ if ((f = fopen(v, "r")) != NULL) {
+ xs *j = xs_readall(f);
+ fclose(f);
- if ((f = fopen(fn, "r")) != NULL) {
- xs *j = xs_readall(f);
+ if (j != NULL) {
xs *o = xs_json_loads(j);
if (o != NULL)
list = xs_list_append(list, o);
-
- fclose(f);
}
}
}
- globfree(&globbuf);
-
return list;
}