summaryrefslogtreecommitdiff
path: root/src/normal.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/normal.cc')
-rw-r--r--src/normal.cc7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/normal.cc b/src/normal.cc
index b41561e3..ff30fa2b 100644
--- a/src/normal.cc
+++ b/src/normal.cc
@@ -174,11 +174,8 @@ void replace_with_char(Context& context)
Codepoint swapped_case(Codepoint cp)
{
- if ('A' <= cp and cp <= 'Z')
- return cp - 'A' + 'a';
- if ('a' <= cp and cp <= 'z')
- return cp - 'a' + 'A';
- return cp;
+ Codepoint res = std::tolower(cp);
+ return res == cp ? std::toupper(cp) : res;
}
void swap_case(Context& context)