X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fmodules-load.c;h=3824b57de7649293e65793b5e0123a0bdade05d7;hp=a1738bb8b4f25e04d48b094830f1de41ec05a2f6;hb=cebe0d41e4d5b3fdd9d521116cc029bcb819c90d;hpb=15917fb09b669021d1f20ddc1f468d156b05a8e0 diff --git a/src/modules-load.c b/src/modules-load.c index a1738bb8b..3824b57de 100644 --- a/src/modules-load.c +++ b/src/modules-load.c @@ -43,7 +43,8 @@ static int scandir_filter(const struct dirent *d) { return 0; if (d->d_type != DT_REG && - d->d_type != DT_LNK) + d->d_type != DT_LNK && + d->d_type != DT_UNKNOWN) return 0; return endswith(d->d_name, ".conf"); @@ -98,14 +99,21 @@ int main(int argc, char *argv[]) { } f = fopen(fn, "re"); - free(fn); if (!f) { + if (errno == ENOENT) { + free(fn); + continue; + } + log_error("Failed to open %s: %m", fn); + free(fn); r = EXIT_FAILURE; continue; } + free(fn); + for (;;) { char line[LINE_MAX], *l, *t;