summaryrefslogtreecommitdiff
path: root/src/fe-common
diff options
context:
space:
mode:
authorTimo Sirainen <cras@irssi.org>2004-01-20 10:57:57 +0000
committercras <cras@dbcabf3a-b0e7-0310-adc4-f8d773084564>2004-01-20 10:57:57 +0000
commit217283caeaf5fc19e671a56547610ceb42e2ea7b (patch)
tree7f2fa9d29fdd2d9bb9f7782f1c928a53cebe70d2 /src/fe-common
parent3ccbd0405b8d3185a143c150a5b42070403fdc36 (diff)
downloadirssi-217283caeaf5fc19e671a56547610ceb42e2ea7b.zip
isupport patch by David Leadbeater
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3211 dbcabf3a-b0e7-0310-adc4-f8d773084564
Diffstat (limited to 'src/fe-common')
-rw-r--r--src/fe-common/core/fe-channels.c4
-rw-r--r--src/fe-common/core/fe-messages.c7
-rw-r--r--src/fe-common/irc/fe-events-numeric.c2
-rw-r--r--src/fe-common/irc/fe-netjoin.c2
4 files changed, 13 insertions, 2 deletions
diff --git a/src/fe-common/core/fe-channels.c b/src/fe-common/core/fe-channels.c
index 4ce5abeb..63d262fb 100644
--- a/src/fe-common/core/fe-channels.c
+++ b/src/fe-common/core/fe-channels.c
@@ -399,7 +399,9 @@ static void display_sorted_nicks(CHANNEL_REC *channel, GSList *nicklist)
for (tmp = nicklist; tmp != NULL; tmp = tmp->next) {
NICK_REC *rec = tmp->data;
- if (rec->op)
+ if (rec->other)
+ nickmode[0] = rec->other;
+ else if (rec->op)
nickmode[0] = '@';
else if (rec->halfop)
nickmode[0] = '%';
diff --git a/src/fe-common/core/fe-messages.c b/src/fe-common/core/fe-messages.c
index 2ae6c0e1..f0015f20 100644
--- a/src/fe-common/core/fe-messages.c
+++ b/src/fe-common/core/fe-messages.c
@@ -116,12 +116,19 @@ char *expand_emphasis(WI_ITEM_REC *item, const char *text)
static char *channel_get_nickmode_rec(NICK_REC *nickrec)
{
char *emptystr;
+ static char nickmode[2]; /* FIXME: bad */
if (!settings_get_bool("show_nickmode"))
return "";
emptystr = settings_get_bool("show_nickmode_empty") ? " " : "";
+ if (nickrec != NULL && nickrec->other) {
+ nickmode[0] = nickrec->other;
+ nickmode[1] = '\0';
+ return nickmode;
+ }
+
return nickrec == NULL ? emptystr :
nickrec->op ? "@" :
nickrec->halfop ? "%" :
diff --git a/src/fe-common/irc/fe-events-numeric.c b/src/fe-common/irc/fe-events-numeric.c
index 242866e6..67f84d2a 100644
--- a/src/fe-common/irc/fe-events-numeric.c
+++ b/src/fe-common/irc/fe-events-numeric.c
@@ -945,6 +945,7 @@ void fe_events_numeric_init(void)
signal_add("default event numeric", (SIGNAL_FUNC) event_numeric);
signal_add("event 001", (SIGNAL_FUNC) event_received);
signal_add("event 004", (SIGNAL_FUNC) event_received);
+ signal_add("event 005", (SIGNAL_FUNC) event_received);
signal_add("event 254", (SIGNAL_FUNC) event_received);
signal_add("event 364", (SIGNAL_FUNC) event_received);
signal_add("event 365", (SIGNAL_FUNC) event_received);
@@ -1033,6 +1034,7 @@ void fe_events_numeric_deinit(void)
signal_remove("default event numeric", (SIGNAL_FUNC) event_numeric);
signal_remove("event 001", (SIGNAL_FUNC) event_received);
signal_remove("event 004", (SIGNAL_FUNC) event_received);
+ signal_remove("event 005", (SIGNAL_FUNC) event_received);
signal_remove("event 254", (SIGNAL_FUNC) event_received);
signal_remove("event 364", (SIGNAL_FUNC) event_received);
signal_remove("event 365", (SIGNAL_FUNC) event_received);
diff --git a/src/fe-common/irc/fe-netjoin.c b/src/fe-common/irc/fe-netjoin.c
index ec1b745d..2629d462 100644
--- a/src/fe-common/irc/fe-netjoin.c
+++ b/src/fe-common/irc/fe-netjoin.c
@@ -387,7 +387,7 @@ static void msg_mode(IRC_SERVER_REC *server, const char *channel,
show = TRUE;
nick++;
} else {
- if (HAS_MODE_ARG(type, *mode) && *nick != NULL)
+ if (HAS_MODE_ARG(server, type, *mode) && *nick != NULL)
nick++;
show = TRUE;
}