diff options
Diffstat (limited to 'src/fe-common/core/fe-messages.c')
-rw-r--r-- | src/fe-common/core/fe-messages.c | 25 |
1 files changed, 9 insertions, 16 deletions
diff --git a/src/fe-common/core/fe-messages.c b/src/fe-common/core/fe-messages.c index 2c720dc4..f77ee843 100644 --- a/src/fe-common/core/fe-messages.c +++ b/src/fe-common/core/fe-messages.c @@ -111,35 +111,28 @@ char *expand_emphasis(WI_ITEM_REC *item, const char *text) return ret; } -char *channel_get_nickmode(CHANNEL_REC *channel, const char *nick) +static char *channel_get_nickmode_rec(NICK_REC *nickrec) { - NICK_REC *nickrec; char *emptystr; - g_return_val_if_fail(nick != NULL, NULL); - if (!settings_get_bool("show_nickmode")) return ""; emptystr = settings_get_bool("show_nickmode_empty") ? " " : ""; - nickrec = channel == NULL ? NULL : - nicklist_find(channel, nick); return nickrec == NULL ? emptystr : - (nickrec->op ? "@" : (nickrec->voice ? "+" : emptystr)); + nickrec->op ? "@" : + nickrec->halfop ? "%" : + nickrec->voice ? "+" : + emptystr; } -static char *channel_get_nickmode_rec(NICK_REC *nickrec) +char *channel_get_nickmode(CHANNEL_REC *channel, const char *nick) { - char *emptystr; - - if (!settings_get_bool("show_nickmode")) - return ""; - - emptystr = settings_get_bool("show_nickmode_empty") ? " " : ""; + g_return_val_if_fail(nick != NULL, NULL); - return nickrec == NULL ? emptystr : - (nickrec->op ? "@" : (nickrec->voice ? "+" : emptystr)); + return channel_get_nickmode_rec(channel == NULL ? NULL : + nicklist_find(channel, nick)); } static void sig_message_public(SERVER_REC *server, const char *msg, |