diff options
author | TingPing <tingping@fedoraproject.org> | 2014-06-04 11:15:35 -0400 |
---|---|---|
committer | TingPing <tingping@fedoraproject.org> | 2014-06-04 11:15:35 -0400 |
commit | 11e3ecc739ab4ae4359ee12176b893d9b5e314cd (patch) | |
tree | afea836fcceb16c105f2b4c4278f9b0be2e830e1 /src/common | |
parent | 5849a0588e7b12003f8b9afcfcdc31f46c6b2329 (diff) |
Stop hardcoding plugin extensions everywhere
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/outbound.c | 38 | ||||
-rw-r--r-- | src/common/plugin.c | 12 |
2 files changed, 8 insertions, 42 deletions
diff --git a/src/common/outbound.c b/src/common/outbound.c index 53dd742d..d23d941d 100644 --- a/src/common/outbound.c +++ b/src/common/outbound.c @@ -2541,7 +2541,6 @@ cmd_load (struct session *sess, char *tbuf, char *word[], char *word_eol[]) char *file, *buf; #ifdef USE_PLUGIN char *error, *arg; - int len; #endif if (!word[2][0]) @@ -2562,16 +2561,7 @@ cmd_load (struct session *sess, char *tbuf, char *word[], char *word_eol[]) } #ifdef USE_PLUGIN - len = strlen (word[2]); -#ifdef WIN32 - if (len > 4 && g_ascii_strcasecmp (".dll", word[2] + len - 4) == 0) -#else -#if defined(__hpux) - if (len > 3 && g_ascii_strcasecmp (".sl", word[2] + len - 3) == 0) -#else - if (len > 3 && g_ascii_strcasecmp (".so", word[2] + len - 3) == 0) -#endif -#endif + if (g_str_has_suffix (word[2], "."G_MODULE_SUFFIX)) { arg = NULL; if (word_eol[3][0]) @@ -3567,18 +3557,9 @@ static int cmd_unload (struct session *sess, char *tbuf, char *word[], char *word_eol[]) { #ifdef USE_PLUGIN - int len, by_file = FALSE; + gboolean by_file = FALSE; - len = strlen (word[2]); -#ifdef WIN32 - if (len > 4 && g_ascii_strcasecmp (word[2] + len - 4, ".dll") == 0) -#else -#if defined(__hpux) - if (len > 3 && g_ascii_strcasecmp (word[2] + len - 3, ".sl") == 0) -#else - if (len > 3 && g_ascii_strcasecmp (word[2] + len - 3, ".so") == 0) -#endif -#endif + if (g_str_has_suffix (word[2], "."G_MODULE_SUFFIX)) by_file = TRUE; switch (plugin_kill (word[2], by_file)) @@ -3601,18 +3582,9 @@ static int cmd_reload (struct session *sess, char *tbuf, char *word[], char *word_eol[]) { #ifdef USE_PLUGIN - int len, by_file = FALSE; + gboolean by_file = FALSE; - len = strlen (word[2]); -#ifdef WIN32 - if (len > 4 && g_ascii_strcasecmp (word[2] + len - 4, ".dll") == 0) -#else -#if defined(__hpux) - if (len > 3 && g_ascii_strcasecmp (word[2] + len - 3, ".sl") == 0) -#else - if (len > 3 && g_ascii_strcasecmp (word[2] + len - 3, ".so") == 0) -#endif -#endif + if (g_str_has_suffix (word[2], "."G_MODULE_SUFFIX)) by_file = TRUE; switch (plugin_reload (sess, word[2], by_file)) diff --git a/src/common/plugin.c b/src/common/plugin.c index 3b9e7e51..e356b26a 100644 --- a/src/common/plugin.c +++ b/src/common/plugin.c @@ -460,18 +460,12 @@ plugin_auto_load (session *sess) for_files (lib_dir, "hcupd.dll", plugin_auto_load_cb); for_files (lib_dir, "hcwinamp.dll", plugin_auto_load_cb); for_files (lib_dir, "hcsysinfo.dll", plugin_auto_load_cb); - - for_files (sub_dir, "*.dll", plugin_auto_load_cb); -#else -#if defined(__hpux) - for_files (lib_dir, "*.sl", plugin_auto_load_cb); - for_files (sub_dir, "*.sl", plugin_auto_load_cb); #else - for_files (lib_dir, "*.so", plugin_auto_load_cb); - for_files (sub_dir, "*.so", plugin_auto_load_cb); -#endif + for_files (lib_dir, "*."G_MODULE_SUFFIX, plugin_auto_load_cb); #endif + for_files (sub_dir, "*."G_MODULE_SUFFIX, plugin_auto_load_cb); + g_free (sub_dir); } |