summaryrefslogtreecommitdiff
path: root/cfgdir.c
diff options
context:
space:
mode:
Diffstat (limited to 'cfgdir.c')
-rw-r--r--cfgdir.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/cfgdir.c b/cfgdir.c
index 08b40f1..7e5022b 100644
--- a/cfgdir.c
+++ b/cfgdir.c
@@ -412,7 +412,7 @@ cfgdir_init(struct cfg *cfg)
int ifd;
int iwd;
struct inotify_ev *iev;
- DIR *cfgdir;
+ DIR *dir;
struct dirent *dent;
struct server *scfg;
@@ -438,20 +438,21 @@ cfgdir_init(struct cfg *cfg)
cfg->iev = iev;
uring_read(cfg, &iev->task, iev->buf, sizeof(iev->buf), inotify_cb);
- cfgdir = opendir(".");
- if (!cfgdir)
+ dir = opendir(".");
+ if (!dir)
perrordie("opendir");
- while ((dent = readdir(cfgdir)) != NULL) {
+ while ((dent = readdir(dir)) != NULL) {
if (dent->d_type != DT_REG && dent->d_type != DT_UNKNOWN)
continue;
if (!scfg_valid_filename(dent->d_name))
continue;
scfg = server_new(cfg, dent->d_name);
- uring_openat(cfg, &scfg->task, scfg->name, scfg_open_cb);
+ if (scfg)
+ uring_openat(cfg, &scfg->task, scfg->name, scfg_open_cb);
}
- closedir(cfgdir);
+ closedir(dir);
}