summaryrefslogtreecommitdiff
path: root/src/plugin.c
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2009-08-20 23:47:08 -0700
committerMarcel Holtmann <marcel@holtmann.org>2009-08-20 23:47:08 -0700
commit319344bb0a81db7538d6de258046a64855fc2938 (patch)
tree8cc833f25156c1b87397ecc0edc2fdfb9bec8a7e /src/plugin.c
parentf21f133fe7684161d8ac76a183f8dee2766e2a33 (diff)
downloadbluez-319344bb0a81db7538d6de258046a64855fc2938.tar.gz
Add more error codes to plugin loading
Diffstat (limited to 'src/plugin.c')
-rw-r--r--src/plugin.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/plugin.c b/src/plugin.c
index b48f1ce98..c6567a96d 100644
--- a/src/plugin.c
+++ b/src/plugin.c
@@ -86,6 +86,9 @@ static gboolean is_disabled(const char *name, char **list)
{
int i;
+ if (list == NULL)
+ return FALSE;
+
for (i = 0; list[i] != NULL; i++) {
char *str;
gboolean equal;
@@ -130,8 +133,7 @@ gboolean plugin_init(GKeyFile *config)
debug("Loading builtin plugins");
for (i = 0; __bluetooth_builtin[i]; i++) {
- if (disabled && is_disabled(__bluetooth_builtin[i]->name,
- disabled))
+ if (is_disabled(__bluetooth_builtin[i]->name, disabled))
continue;
add_plugin(NULL, __bluetooth_builtin[i]);
@@ -157,7 +159,7 @@ gboolean plugin_init(GKeyFile *config)
g_str_has_suffix(file, ".so") == FALSE)
continue;
- if (disabled && is_disabled(file, disabled))
+ if (is_disabled(file, disabled))
continue;
filename = g_build_filename(PLUGINDIR, file, NULL);
@@ -190,8 +192,10 @@ gboolean plugin_init(GKeyFile *config)
for (list = plugins; list; list = list->next) {
struct bluetooth_plugin *plugin = list->data;
- if (plugin->desc->init() < 0)
+ if (plugin->desc->init() < 0) {
+ error("Failed to init %s plugin", plugin->desc->name);
continue;
+ }
plugin->active = TRUE;
}