summaryrefslogtreecommitdiff
path: root/src/irc/core
diff options
context:
space:
mode:
authorTimo Sirainen <cras@irssi.org>2001-01-01 16:57:25 +0000
committercras <cras@dbcabf3a-b0e7-0310-adc4-f8d773084564>2001-01-01 16:57:25 +0000
commit2ae679be088b0c726bf1c482fd22ee3231c94349 (patch)
tree804506241870ee73d6506c731a4e72f7f7d90e1b /src/irc/core
parent219c83ae6ab83e546fe18bc697ef3a1ab3d12caa (diff)
downloadirssi-2ae679be088b0c726bf1c482fd22ee3231c94349.zip
added "message own_public" and "message own_private" events that are
sent when /msg command is used. this way we don't need to parse the /msg's options everywhere. also efnet @#channels support works now better. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1041 dbcabf3a-b0e7-0310-adc4-f8d773084564
Diffstat (limited to 'src/irc/core')
-rw-r--r--src/irc/core/irc-servers.c4
-rw-r--r--src/irc/core/irc.h4
2 files changed, 6 insertions, 2 deletions
diff --git a/src/irc/core/irc-servers.c b/src/irc/core/irc-servers.c
index ca548400..f39d858a 100644
--- a/src/irc/core/irc-servers.c
+++ b/src/irc/core/irc-servers.c
@@ -68,9 +68,9 @@ static int isnickflag_func(char flag)
return isnickflag(flag);
}
-static int ischannel_func(char flag)
+static int ischannel_func(const char *data)
{
- return ischannel(flag);
+ return ischannel_target(data);
}
static void send_message(SERVER_REC *server, const char *target,
diff --git a/src/irc/core/irc.h b/src/irc/core/irc.h
index 12065cb1..7eacca7a 100644
--- a/src/irc/core/irc.h
+++ b/src/irc/core/irc.h
@@ -25,6 +25,10 @@
(a) == '!' || /* secure */ \
(a) == '+') /* modeless */
+#define ischannel_target(a) \
+ (ischannel((a)[0]) || \
+ ((a)[0] == '@' && ischannel((a)[1]))) /* hybrid6 @#channel */
+
#define IS_IRC_ITEM(rec) (IS_IRC_CHANNEL(rec) || IS_IRC_QUERY(rec))
extern char *current_server_event; /* current server event being processed */