diff options
author | Timo Sirainen <cras@irssi.org> | 2004-01-20 10:57:57 +0000 |
---|---|---|
committer | cras <cras@dbcabf3a-b0e7-0310-adc4-f8d773084564> | 2004-01-20 10:57:57 +0000 |
commit | 217283caeaf5fc19e671a56547610ceb42e2ea7b (patch) | |
tree | 7f2fa9d29fdd2d9bb9f7782f1c928a53cebe70d2 /src/fe-common | |
parent | 3ccbd0405b8d3185a143c150a5b42070403fdc36 (diff) | |
download | irssi-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.c | 4 | ||||
-rw-r--r-- | src/fe-common/core/fe-messages.c | 7 | ||||
-rw-r--r-- | src/fe-common/irc/fe-events-numeric.c | 2 | ||||
-rw-r--r-- | src/fe-common/irc/fe-netjoin.c | 2 |
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; } |