summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/module.c15
-rw-r--r--src/ug.c11
2 files changed, 19 insertions, 7 deletions
diff --git a/src/module.c b/src/module.c
index 2df10e2..b66e772 100644
--- a/src/module.c
+++ b/src/module.c
@@ -42,6 +42,11 @@
#define MEM_ADDR_LEN 8
#define MEM_ADDR_TOT_LEN 17
+#ifndef UG_API
+#define UG_API __attribute__ ((visibility("default")))
+#endif
+
+
static char *__ug_module_get_addr(const char *ug_name)
{
FILE *file;
@@ -278,14 +283,12 @@ int ug_module_unload(struct ug_module *module)
return 0;
}
-int ug_exist(const char* name)
+UG_API int ug_module_get_file_path(const char *name, char **ug_file_path)
{
- int ret = 1;
-
- if (__get_ug_info(name, NULL) < 0) {
+ if (__get_ug_info(name, ug_file_path) < 0) {
_ERR("error in getting ug file path");
- ret = 0;
+ return -1;
}
- return ret;
+ return 0;
}
diff --git a/src/ug.c b/src/ug.c
index ad4bcf4..6045237 100644
--- a/src/ug.c
+++ b/src/ug.c
@@ -377,12 +377,21 @@ UG_API int ug_disable_effect(ui_gadget_h ug)
UG_API int ug_is_installed(const char *name)
{
+ int ret = 1;
+ char *ug_file_path = NULL;
+
if (name == NULL) {
_ERR("name is null");
return -1;
}
- return ug_exist(name);
+ if (!ug_module_get_file_path(name, &ug_file_path))
+ ret = 0;
+
+ if (ug_file_path)
+ free(ug_file_path);
+
+ return ret;
}
#ifdef ENABLE_UG_CREATE_CB