diff options
author | Pali Rohár | 2020-03-17 22:34:33 +0100 |
---|---|---|
committer | Namjae Jeon | 2020-06-09 16:48:28 +0900 |
commit | 197298a64983e2beaf1a87413daff3044b4f3821 (patch) | |
tree | ae6fd19f59a4e06321ae84adcbc713cd2b1d59a5 /fs/exfat | |
parent | 3d77e6a8804abcc0504c904bd6e5cdf3a5cf8162 (diff) |
exfat: Simplify exfat_utf8_d_cmp() for code points above U+FFFF
If two Unicode code points represented in UTF-16 are different then also
their UTF-32 representation must be different. Therefore conversion from
UTF-32 to UTF-16 is not needed.
Signed-off-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
Diffstat (limited to 'fs/exfat')
-rw-r--r-- | fs/exfat/namei.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/fs/exfat/namei.c b/fs/exfat/namei.c index a2659a8a68a1..731da41cabbf 100644 --- a/fs/exfat/namei.c +++ b/fs/exfat/namei.c @@ -185,14 +185,9 @@ static int exfat_utf8_d_cmp(const struct dentry *dentry, unsigned int len, if (u_a <= 0xFFFF && u_b <= 0xFFFF) { if (exfat_toupper(sb, u_a) != exfat_toupper(sb, u_b)) return 1; - } else if (u_a > 0xFFFF && u_b > 0xFFFF) { - if (exfat_low_surrogate(u_a) != - exfat_low_surrogate(u_b) || - exfat_high_surrogate(u_a) != - exfat_high_surrogate(u_b)) - return 1; } else { - return 1; + if (u_a != u_b) + return 1; } } |