summaryrefslogtreecommitdiff
path: root/src/irc/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/irc/core')
-rw-r--r--src/irc/core/irc-servers.c8
-rw-r--r--src/irc/core/irc.h4
2 files changed, 7 insertions, 5 deletions
diff --git a/src/irc/core/irc-servers.c b/src/irc/core/irc-servers.c
index 966ddf5e..a2d281ed 100644
--- a/src/irc/core/irc-servers.c
+++ b/src/irc/core/irc-servers.c
@@ -71,7 +71,13 @@ static int isnickflag_func(char flag)
static int ischannel_func(const char *data)
{
- return ischannel_target(data);
+ if (*data == '@') {
+ /* @#channel, @+#channel */
+ data++;
+ if (*data == '+' && ischannel(data[1]))
+ return 1;
+ }
+ return ischannel(*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 17a18635..46051d9e 100644
--- a/src/irc/core/irc.h
+++ b/src/irc/core/irc.h
@@ -25,10 +25,6 @@
(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 */