summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
authorSébastien Helleu <flashcode@flashtux.org>2017-05-06 10:18:44 +0200
committerSébastien Helleu <flashcode@flashtux.org>2017-05-06 10:18:44 +0200
commitdf00926d35fcbc7bfaf846f7f86b31c3023e309f (patch)
tree31a74d5e5621ec2da7ba7baf02c9601882b384d8 /src/gui
parent90a9a1fb9685a5f1d7bb7f7043e6a368adc4cd70 (diff)
downloadweechat-df00926d35fcbc7bfaf846f7f86b31c3023e309f.zip
core: add option weechat.completion.nick_case_sensitive (closes #981)
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/gui-completion.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/gui/gui-completion.c b/src/gui/gui-completion.c
index d5ece75fe..22c151f1d 100644
--- a/src/gui/gui-completion.c
+++ b/src/gui/gui-completion.c
@@ -356,19 +356,26 @@ int
gui_completion_nickncmp (const char *base_word, const char *nick, int max)
{
char *base_word2, *nick2;
- int return_cmp;
+ int case_sensitive, return_cmp;
+
+ case_sensitive = CONFIG_BOOLEAN(config_completion_nick_case_sensitive);
if (!CONFIG_STRING(config_completion_nick_ignore_chars)
|| !CONFIG_STRING(config_completion_nick_ignore_chars)[0]
|| !base_word || !nick || !base_word[0] || !nick[0]
|| gui_completion_nick_has_ignored_chars (base_word))
- return string_strncasecmp (base_word, nick, max);
+ {
+ return (case_sensitive) ?
+ strncmp (base_word, nick, max) :
+ string_strncasecmp (base_word, nick, max);
+ }
base_word2 = gui_completion_nick_strdup_ignore_chars (base_word);
nick2 = gui_completion_nick_strdup_ignore_chars (nick);
- return_cmp = string_strncasecmp (base_word2, nick2,
- utf8_strlen (base_word2));
+ return_cmp = (case_sensitive) ?
+ strncmp (base_word2, nick2, utf8_strlen (base_word2)) :
+ string_strncasecmp (base_word2, nick2, utf8_strlen (base_word2));
free (base_word2);
free (nick2);