mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
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>
This commit is contained in:
parent
3d77e6a880
commit
197298a649
1 changed files with 2 additions and 7 deletions
|
@ -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 (u_a <= 0xFFFF && u_b <= 0xFFFF) {
|
||||||
if (exfat_toupper(sb, u_a) != exfat_toupper(sb, u_b))
|
if (exfat_toupper(sb, u_a) != exfat_toupper(sb, u_b))
|
||||||
return 1;
|
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 {
|
} else {
|
||||||
return 1;
|
if (u_a != u_b)
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue