diff options
Diffstat (limited to 'src/perl/perl-common.c')
-rw-r--r-- | src/perl/perl-common.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/perl/perl-common.c b/src/perl/perl-common.c index d6e6192d..b1a6e2f7 100644 --- a/src/perl/perl-common.c +++ b/src/perl/perl-common.c @@ -30,6 +30,7 @@ #include "module.h" #include "modules.h" #include "signals.h" +#include "settings.h" #include "chat-protocols.h" #include "servers.h" @@ -189,6 +190,21 @@ void printformat_perl(TEXT_DEST_REC *dest, char *format, char **arglist) g_free(module); } +void perl_command(const char *cmd, SERVER_REC *server, WI_ITEM_REC *item) +{ + const char *cmdchars; + char *sendcmd = (char *) cmd; + + cmdchars = settings_get_str("cmdchars"); + if (strchr(cmdchars, *cmd) == NULL) { + /* no command char - let's put it there.. */ + sendcmd = g_strdup_printf("%c%s", *cmdchars, cmd); + } + + signal_emit("send command", 3, cmd, server, item); + if (sendcmd != cmd) g_free(sendcmd); +} + static void perl_register_protocol(CHAT_PROTOCOL_REC *rec) { static char *items[] = { |