summaryrefslogtreecommitdiff
path: root/src/fe-common
diff options
context:
space:
mode:
authorTimo Sirainen <cras@irssi.org>2001-02-17 10:35:35 +0000
committercras <cras@dbcabf3a-b0e7-0310-adc4-f8d773084564>2001-02-17 10:35:35 +0000
commitabe4ddb52ab32cb7e6aaee98a25e93f769a3aa46 (patch)
tree18f744255342648f9443de36e5b1eee098c9abe2 /src/fe-common
parentf1205c10e0d6ef29065c96d788c35c4e23ed4860 (diff)
downloadirssi-abe4ddb52ab32cb7e6aaee98a25e93f769a3aa46.zip
/LOAD module tries to load "module_core" instead. If it wasn't found,
it fallbacks to "module" again. If it is found, it tries to load several other modules too, like irc_module, fe_module and fe_irc_module. Split perl module to perl_core and fe_perl. Removed "_common" from some fe_common modules. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1228 dbcabf3a-b0e7-0310-adc4-f8d773084564
Diffstat (limited to 'src/fe-common')
-rw-r--r--src/fe-common/core/fe-modules.c45
-rw-r--r--src/fe-common/irc/dcc/Makefile.am6
-rw-r--r--src/fe-common/irc/flood/Makefile.am6
-rw-r--r--src/fe-common/irc/notifylist/Makefile.am6
4 files changed, 52 insertions, 11 deletions
diff --git a/src/fe-common/core/fe-modules.c b/src/fe-common/core/fe-modules.c
index 5a33d39e..1ea78f1e 100644
--- a/src/fe-common/core/fe-modules.c
+++ b/src/fe-common/core/fe-modules.c
@@ -24,6 +24,7 @@
#include "signals.h"
#include "commands.h"
#include "levels.h"
+#include "chat-protocols.h"
#include "printtext.h"
@@ -72,14 +73,54 @@ static void cmd_load_list(void)
printformat(NULL, NULL, MSGLEVEL_CLIENTNOTICE, TXT_MODULE_FOOTER);
}
+static char **module_prefixes_get(void)
+{
+ GSList *tmp;
+ char **list, *name;
+ int count;
+
+ list = g_new(char *, 2 + 2*g_slist_length(chat_protocols));
+ list[0] = "fe";
+
+ count = 1;
+ for (tmp = chat_protocols; tmp != NULL; tmp = tmp->next) {
+ CHAT_PROTOCOL_REC *rec = tmp->data;
+
+ name = g_strdup(rec->name);
+ g_strdown(name);
+
+ list[count++] = name;
+ list[count++] = g_strconcat("fe_", name, NULL);
+ }
+ list[count] = NULL;
+
+ return list;
+}
+
+static void module_prefixes_free(char **list)
+{
+ char **pos = list+1;
+
+ while (*pos != NULL) {
+ g_free(*pos);
+ pos++;
+ }
+ g_free(list);
+}
+
/* SYNTAX: LOAD <module> */
static void cmd_load(const char *data)
{
+ char **module_prefixes;
+
g_return_if_fail(data != NULL);
if (*data == '\0')
cmd_load_list();
- else
- module_load(data);
+ else {
+ module_prefixes = module_prefixes_get();
+ module_load(data, module_prefixes);
+ module_prefixes_free(module_prefixes);
+ }
}
/* SYNTAX: UNLOAD <module> */
diff --git a/src/fe-common/irc/dcc/Makefile.am b/src/fe-common/irc/dcc/Makefile.am
index dc4a540a..f8ac20ce 100644
--- a/src/fe-common/irc/dcc/Makefile.am
+++ b/src/fe-common/irc/dcc/Makefile.am
@@ -1,7 +1,7 @@
moduledir = $(libdir)/irssi/modules
-module_LTLIBRARIES = libfe_common_irc_dcc.la
+module_LTLIBRARIES = libfe_irc_dcc.la
-libfe_common_irc_dcc_la_LDFLAGS = -avoid-version
+libfe_irc_dcc_la_LDFLAGS = -avoid-version
INCLUDES = \
$(GLIB_CFLAGS) \
@@ -13,7 +13,7 @@ INCLUDES = \
-DHELPDIR=\""$(datadir)/irssi/help"\" \
-DSYSCONFDIR=\""$(sysconfdir)"\"
-libfe_common_irc_dcc_la_SOURCES = \
+libfe_irc_dcc_la_SOURCES = \
fe-dcc.c \
fe-dcc-chat.c \
fe-dcc-get.c \
diff --git a/src/fe-common/irc/flood/Makefile.am b/src/fe-common/irc/flood/Makefile.am
index 575388b3..071d091c 100644
--- a/src/fe-common/irc/flood/Makefile.am
+++ b/src/fe-common/irc/flood/Makefile.am
@@ -1,7 +1,7 @@
moduledir = $(libdir)/irssi/modules
-module_LTLIBRARIES = libfe_common_irc_flood.la
+module_LTLIBRARIES = libfe_irc_flood.la
-libfe_common_irc_flood_la_LDFLAGS = -avoid-version
+libfe_irc_flood_la_LDFLAGS = -avoid-version
INCLUDES = \
$(GLIB_CFLAGS) \
@@ -12,7 +12,7 @@ INCLUDES = \
-DHELPDIR=\""$(datadir)/irssi/help"\" \
-DSYSCONFDIR=\""$(sysconfdir)"\"
-libfe_common_irc_flood_la_SOURCES = \
+libfe_irc_flood_la_SOURCES = \
fe-flood.c \
module-formats.c
diff --git a/src/fe-common/irc/notifylist/Makefile.am b/src/fe-common/irc/notifylist/Makefile.am
index 716d3fe4..595c948b 100644
--- a/src/fe-common/irc/notifylist/Makefile.am
+++ b/src/fe-common/irc/notifylist/Makefile.am
@@ -1,7 +1,7 @@
moduledir = $(libdir)/irssi/modules
-module_LTLIBRARIES = libfe_common_irc_notifylist.la
+module_LTLIBRARIES = libfe_irc_notifylist.la
-libfe_common_irc_notifylist_la_LDFLAGS = -avoid-version
+libfe_irc_notifylist_la_LDFLAGS = -avoid-version
INCLUDES = \
$(GLIB_CFLAGS) \
@@ -12,7 +12,7 @@ INCLUDES = \
-DHELPDIR=\""$(datadir)/irssi/help"\" \
-DSYSCONFDIR=\""$(sysconfdir)"\"
-libfe_common_irc_notifylist_la_SOURCES = \
+libfe_irc_notifylist_la_SOURCES = \
fe-notifylist.c \
module-formats.c