summaryrefslogtreecommitdiff
path: root/src/perl/perl-common.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/perl/perl-common.c')
-rw-r--r--src/perl/perl-common.c16
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[] = {