diff options
author | Timo Sirainen <cras@irssi.org> | 2001-02-17 10:35:35 +0000 |
---|---|---|
committer | cras <cras@dbcabf3a-b0e7-0310-adc4-f8d773084564> | 2001-02-17 10:35:35 +0000 |
commit | abe4ddb52ab32cb7e6aaee98a25e93f769a3aa46 (patch) | |
tree | 18f744255342648f9443de36e5b1eee098c9abe2 /src/fe-common | |
parent | f1205c10e0d6ef29065c96d788c35c4e23ed4860 (diff) | |
download | irssi-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.c | 45 | ||||
-rw-r--r-- | src/fe-common/irc/dcc/Makefile.am | 6 | ||||
-rw-r--r-- | src/fe-common/irc/flood/Makefile.am | 6 | ||||
-rw-r--r-- | src/fe-common/irc/notifylist/Makefile.am | 6 |
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 |