Author: iratqq
Date: Sun Dec 30 07:17:51 2007
New Revision: 5074
Modified:
trunk/uim/uim-notify.c
Log:
* uim/uim-notify.c
- (uim_notify_load): dlclose when dlfunc failed.
Modified: trunk/uim/uim-notify.c
==============================================================================
--- trunk/uim/uim-notify.c (original)
+++ trunk/uim/uim-notify.c Sun Dec 30 07:17:51 2007
@@ -113,24 +113,28 @@
uim_notify_init_func = (int (*)(void))(intptr_t)dlfunc(notify_dlhandle,
"uim_notify_init");
if (!uim_notify_init_func) {
fprintf(stderr, "uim-notify: cannot found 'uim_notify_init()'
in %s\n", path);
+ dlclose(notify_dlhandle);
uim_notify_load_stderr();
return 0;
}
uim_notify_quit_func = (void (*)(void))(intptr_t)dlfunc(notify_dlhandle,
"uim_notify_quit");
if (!uim_notify_quit_func) {
fprintf(stderr, "uim-notify: cannot found 'uim_notify_quit()'
in %s\n", path);
+ dlclose(notify_dlhandle);
uim_notify_load_stderr();
return 0;
}
uim_notify_info_func = (int (*)(const char *,
va_list))(intptr_t)dlfunc(notify_dlhandle, "uim_notify_info");
if (!uim_notify_info_func) {
fprintf(stderr, "uim-notify: cannot found 'uim_notify_info()'
in %s\n", path);
+ dlclose(notify_dlhandle);
uim_notify_load_stderr();
return 0;
}
uim_notify_fatal_func = (int (*)(const char *,
va_list))(intptr_t)dlfunc(notify_dlhandle, "uim_notify_fatal");
if (!uim_notify_fatal_func) {
fprintf(stderr, "uim-notify: cannot found 'uim_notify_fatal()'
in %s\n", path);
+ dlclose(notify_dlhandle);
uim_notify_load_stderr();
return 0;
}