Author: ek.kato
Date: Sun Apr 20 19:56:57 2008
New Revision: 5434
Modified:
branches/1.5/uim/uim-notify.c
Log:
* Merge r5433, 5418, 5397 from trunk.
Modified: branches/1.5/uim/uim-notify.c
==============================================================================
--- branches/1.5/uim/uim-notify.c (original)
+++ branches/1.5/uim/uim-notify.c Sun Apr 20 19:56:57 2008
@@ -228,7 +228,7 @@
const uim_notify_desc *desc;
void *handle;
uim_notify_desc *(*desc_func)(void);
- char *str;
+ const char *str;
plen = sizeof(NOTIFY_PLUGIN_PREFIX);
slen = sizeof(NOTIFY_PLUGIN_SUFFIX);
@@ -243,14 +243,13 @@
while ((dp = readdir(dirp)) != NULL) {
size_t len = strlen(dp->d_name);
char path[PATH_MAX];
-
- if ((len < plen + slen) ||
- (PATH_MAX < (sizeof(NOTIFY_PLUGIN_PATH "/") + len + 1)) ||
+ if ((len < plen + slen - 1) ||
+ (PATH_MAX < (sizeof(NOTIFY_PLUGIN_PATH "/") + len)) ||
(strcmp(dp->d_name, NOTIFY_PLUGIN_PREFIX) <= 0) ||
- (strcmp(dp->d_name + len - slen, NOTIFY_PLUGIN_SUFFIX) != 0))
+ (strcmp(dp->d_name + len + 1 - slen, NOTIFY_PLUGIN_SUFFIX) != 0))
continue;
- snprintf(path, PATH_MAX, "%s/%s", NOTIFY_PLUGIN_PATH, dp->d_name);
+ snprintf(path, sizeof(path), "%s/%s", NOTIFY_PLUGIN_PATH, dp->d_name);
handle = dlopen(path, RTLD_NOW);
if ((str = dlerror()) != NULL) {
fprintf(stderr, "load failed %s(%s)\n", path, str);