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:
@ -185,13 +185,8 @@ 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 {
|
||||||
|
if (u_a != u_b)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user