int i;
bool (*on_load)(pkg_plugin_set *plugin);
- if (library_path == NULL) {
- ERR("pkg library path = [%s]", library_path);
+ if (library_path == NULL || pkg_type == NULL) {
+ ERR("invalid parameter");
return NULL;
}
+ for (i = 0; plugin_set_list[i]; i++) {
+ if (strcmp(plugin_set_list[i]->pkg_type, pkg_type) == 0) {
+ DBG("already loaded [%s]", library_path);
+ return plugin_set_list[i];
+ }
+ }
+
if ((library_handle = dlopen(library_path, RTLD_LAZY)) == NULL) {
ERR("dlopen is failed library_path[%s]", library_path);
return NULL;
return NULL;
}
- for (i = 0; plugin_set_list[i]; i++) {
- if (strcmp(plugin_set_list[i]->pkg_type, pkg_type) == 0) {
- DBG("already loaded [%s]", library_path);
- return plugin_set_list[i];
- }
- }
-
plugin_set_list[i] = (pkg_plugin_set *)calloc(1, sizeof(pkg_plugin_set));
if (plugin_set_list[i] == NULL) {
ERR("malloc of the plugin_set_list element is failed");