summaryrefslogtreecommitdiff
path: root/plugins.c
diff options
context:
space:
mode:
authorGravatar waker <wakeroid@gmail.com>2010-11-05 22:13:31 +0100
committerGravatar waker <wakeroid@gmail.com>2010-11-05 22:13:31 +0100
commit0b1269a7704d0e89f690bddd9b63f6fb596dff33 (patch)
treebd6a949cad043fe40f2299f043714e7fbb490d2a /plugins.c
parentdf3e33e8a650c1c7f173156875bec73764bdd1f9 (diff)
added fallback gtkui plugin
Diffstat (limited to 'plugins.c')
-rw-r--r--plugins.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/plugins.c b/plugins.c
index 61a95d33..161ba138 100644
--- a/plugins.c
+++ b/plugins.c
@@ -639,8 +639,8 @@ plug_load_all (void) {
int i;
for (i = 0; i < n; i++)
{
- // no hidden files
- while (namelist[i]->d_name[0] != '.')
+ // skip hidden files and fallback plugins
+ while (namelist[i]->d_name[0] != '.' && !strstr (namelist[i]->d_name, ".fallback."))
{
int l = strlen (namelist[i]->d_name);
if (l < 3) {
@@ -679,7 +679,14 @@ plug_load_all (void) {
void *handle = dlopen (fullname, RTLD_NOW);
if (!handle) {
trace ("dlopen error: %s\n", dlerror ());
- break;
+ strcpy (fullname + strlen(fullname) - 3, ".fallback.so");
+ handle = dlopen (fullname, RTLD_NOW);
+ if (!handle) {
+ break;
+ }
+ else {
+ fprintf (stderr, "successfully started fallback plugin %s\n", fullname);
+ }
}
d_name[l-3] = 0;
strcat (d_name, "_load");