summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorTingPing <tingping@fedoraproject.org>2014-06-04 11:15:35 -0400
committerTingPing <tingping@fedoraproject.org>2014-06-04 11:15:35 -0400
commit11e3ecc739ab4ae4359ee12176b893d9b5e314cd (patch)
treeafea836fcceb16c105f2b4c4278f9b0be2e830e1
parent5849a0588e7b12003f8b9afcfcdc31f46c6b2329 (diff)
Stop hardcoding plugin extensions everywhere
-rw-r--r--src/common/outbound.c38
-rw-r--r--src/common/plugin.c12
-rw-r--r--src/fe-gtk/plugingui.c18
-rw-r--r--src/fe-gtk/sexy-spell-entry.c7
4 files changed, 12 insertions, 63 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);
 }
 
diff --git a/src/fe-gtk/plugingui.c b/src/fe-gtk/plugingui.c
index c6d90e2f..9b3186a6 100644
--- a/src/fe-gtk/plugingui.c
+++ b/src/fe-gtk/plugingui.c
@@ -161,11 +161,7 @@ plugingui_load (void)
 	sub_dir = g_build_filename (get_xdir(), "addons", NULL);
 
 	gtkutil_file_req (_("Select a Plugin or Script to load"), plugingui_load_cb, current_sess,
-#ifdef WIN32
-							sub_dir, "*.dll;*.lua;*.pl;*.py;*.tcl;*.js", FRF_FILTERISINITIAL|FRF_EXTENSIONS);
-#else
-							sub_dir, "*.so;*.lua;*.pl;*.py;*.tcl;*.js", FRF_FILTERISINITIAL|FRF_EXTENSIONS);
-#endif
+							sub_dir, "*."G_MODULE_SUFFIX";*.lua;*.pl;*.py;*.tcl;*.js", FRF_FILTERISINITIAL|FRF_EXTENSIONS);
 
 	g_free (sub_dir);
 }
@@ -179,7 +175,6 @@ plugingui_loadbutton_cb (GtkWidget * wid, gpointer unused)
 static void
 plugingui_unload (GtkWidget * wid, gpointer unused)
 {
-	int len;
 	char *modname, *file, *buf;
 	GtkTreeView *view;
 	GtkTreeIter iter;
@@ -189,16 +184,7 @@ plugingui_unload (GtkWidget * wid, gpointer unused)
 	                                    FILE_COLUMN, &file, -1))
 		return;
 
-	len = strlen (file);
-#ifdef WIN32
-	if (len > 4 && g_ascii_strcasecmp (file + len - 4, ".dll") == 0)
-#else
-#if defined(__hpux)
-	if (len > 3 && g_ascii_strcasecmp (file + len - 3, ".sl") == 0)
-#else
-	if (len > 3 && g_ascii_strcasecmp (file + len - 3, ".so") == 0)
-#endif
-#endif
+	if (g_str_has_suffix (file, "."G_MODULE_SUFFIX))
 	{
 		if (plugin_kill (modname, FALSE) == 2)
 			fe_message (_("That plugin is refusing to unload.\n"), FE_MSG_ERROR);
diff --git a/src/fe-gtk/sexy-spell-entry.c b/src/fe-gtk/sexy-spell-entry.c
index 6ad7ab49..c2c2a4db 100644
--- a/src/fe-gtk/sexy-spell-entry.c
+++ b/src/fe-gtk/sexy-spell-entry.c
@@ -153,11 +153,8 @@ initialize_enchant ()
 	GModule *enchant;
 	gpointer funcptr;
 
-#ifdef WIN32
-	enchant = g_module_open("libenchant.dll", 0);
-#else
-	enchant = g_module_open("libenchant", 0);
-#endif
+
+	enchant = g_module_open("libenchant."G_MODULE_SUFFIX, 0);
 	if (enchant == NULL)
 	{
 #ifndef WIN32