From ce46f0e9d232c9469c3626db82633071bc6446dc Mon Sep 17 00:00:00 2001 From: cbdev Date: Thu, 8 Jun 2017 17:59:08 +0200 Subject: Only load plugins ending in .so --- README.md | 9 ++++++--- plugin.c | 4 ++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 4b171e0..7c62452 100644 --- a/README.md +++ b/README.md @@ -20,9 +20,12 @@ The configuration is stored in a file with a format very similar to the common INI file format. A section is started by a header in `[]` braces, followed by lines of the form `option = value`. -A section may either be a *backend configuration* section, started by `[backend ]`, -an *instance configuration* section, started by `[ ]` or a *mapping* -section started by `[map]`. +Lines starting with a semicolon are treated as comments and ignored. Inline comments +are not currently supported. + +A configuration section may either be a *backend configuration* section, started by +`[backend ]`, an *instance configuration* section, started by +`[ ]` or a *mapping* section started by `[map]`. The `[map]` section consists of lines of channel-to-channel assignments, reading like diff --git a/plugin.c b/plugin.c index 561e131..d2fe95c 100644 --- a/plugin.c +++ b/plugin.c @@ -69,6 +69,10 @@ int plugins_load(char* path){ } for(entry = readdir(directory); entry; entry = readdir(directory)){ + if(strlen(entry->d_name) < 4 || strncmp(".so", entry->d_name + (strlen(entry->d_name) - 3), 3)){ + continue; + } + if(fstatat(dirfd(directory), entry->d_name, &file_stat, 0) < 0){ fprintf(stderr, "Failed to stat %s: %s\n", entry->d_name, strerror(errno)); continue; -- cgit v1.2.3