summaryrefslogtreecommitdiff
path: root/src/fe-common/core/fe-messages.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/fe-common/core/fe-messages.c')
-rw-r--r--src/fe-common/core/fe-messages.c25
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,