mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2025-05-31 10:54:59 +03:00
module: unicode: remove unused tolower transformations
With the previous patch this yields $ size -G ./module/zfs.ko ./module/zfs.new.ko text data bss total filename 2865126 1597982 755768 5218876 ./module/zfs.ko 2864038 1429784 755768 5049590 ./module/zfs.new.ko -1088 -168198 -1k -164k Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Alexander Motin <mav@FreeBSD.org> Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Closes #16704
This commit is contained in:
parent
e17a9698fa
commit
60c202cca4
@ -45,7 +45,9 @@ extern "C" {
|
|||||||
*/
|
*/
|
||||||
#define U8_STRCMP_CS (0x00000001)
|
#define U8_STRCMP_CS (0x00000001)
|
||||||
#define U8_STRCMP_CI_UPPER (0x00000002)
|
#define U8_STRCMP_CI_UPPER (0x00000002)
|
||||||
|
#if 0
|
||||||
#define U8_STRCMP_CI_LOWER (0x00000004)
|
#define U8_STRCMP_CI_LOWER (0x00000004)
|
||||||
|
#endif
|
||||||
|
|
||||||
#define U8_CANON_DECOMP (0x00000010)
|
#define U8_CANON_DECOMP (0x00000010)
|
||||||
#define U8_COMPAT_DECOMP (0x00000020)
|
#define U8_COMPAT_DECOMP (0x00000020)
|
||||||
@ -57,7 +59,9 @@ extern "C" {
|
|||||||
#define U8_STRCMP_NFKC (U8_COMPAT_DECOMP | U8_CANON_COMP)
|
#define U8_STRCMP_NFKC (U8_COMPAT_DECOMP | U8_CANON_COMP)
|
||||||
|
|
||||||
#define U8_TEXTPREP_TOUPPER (U8_STRCMP_CI_UPPER)
|
#define U8_TEXTPREP_TOUPPER (U8_STRCMP_CI_UPPER)
|
||||||
|
#ifdef U8_STRCMP_CI_LOWER
|
||||||
#define U8_TEXTPREP_TOLOWER (U8_STRCMP_CI_LOWER)
|
#define U8_TEXTPREP_TOLOWER (U8_STRCMP_CI_LOWER)
|
||||||
|
#endif
|
||||||
|
|
||||||
#define U8_TEXTPREP_NFD (U8_STRCMP_NFD)
|
#define U8_TEXTPREP_NFD (U8_STRCMP_NFD)
|
||||||
#define U8_TEXTPREP_NFC (U8_STRCMP_NFC)
|
#define U8_TEXTPREP_NFC (U8_STRCMP_NFC)
|
||||||
|
@ -27638,6 +27638,7 @@ static const uchar_t u8_case_common_b2_tbl[U8_UNICODE_LATEST + 1][2][256] = {
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#ifdef U8_STRCMP_CI_LOWER
|
||||||
static const u8_displacement_t u8_tolower_b3_tbl[
|
static const u8_displacement_t u8_tolower_b3_tbl[
|
||||||
U8_UNICODE_LATEST + 1][5][256] =
|
U8_UNICODE_LATEST + 1][5][256] =
|
||||||
{
|
{
|
||||||
@ -31422,6 +31423,7 @@ static const uchar_t u8_tolower_final_tbl[U8_UNICODE_LATEST + 1][2299] = {
|
|||||||
0x90, 0x91, 0x8F,
|
0x90, 0x91, 0x8F,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
static const u8_displacement_t u8_toupper_b3_tbl[
|
static const u8_displacement_t u8_toupper_b3_tbl[
|
||||||
U8_UNICODE_LATEST + 1][5][256] =
|
U8_UNICODE_LATEST + 1][5][256] =
|
||||||
|
@ -527,6 +527,7 @@ do_case_conv(int uv, uchar_t *u8s, uchar_t *s, int sz, boolean_t is_it_toupper)
|
|||||||
for (i = 0; start_id < end_id; start_id++)
|
for (i = 0; start_id < end_id; start_id++)
|
||||||
u8s[i++] = u8_toupper_final_tbl[uv][b3_base + start_id];
|
u8s[i++] = u8_toupper_final_tbl[uv][b3_base + start_id];
|
||||||
} else {
|
} else {
|
||||||
|
#ifdef U8_STRCMP_CI_LOWER
|
||||||
b3_tbl = u8_tolower_b3_tbl[uv][b2][b3].tbl_id;
|
b3_tbl = u8_tolower_b3_tbl[uv][b2][b3].tbl_id;
|
||||||
if (b3_tbl == U8_TBL_ELEMENT_NOT_DEF)
|
if (b3_tbl == U8_TBL_ELEMENT_NOT_DEF)
|
||||||
return ((size_t)sz);
|
return ((size_t)sz);
|
||||||
@ -541,6 +542,9 @@ do_case_conv(int uv, uchar_t *u8s, uchar_t *s, int sz, boolean_t is_it_toupper)
|
|||||||
|
|
||||||
for (i = 0; start_id < end_id; start_id++)
|
for (i = 0; start_id < end_id; start_id++)
|
||||||
u8s[i++] = u8_tolower_final_tbl[uv][b3_base + start_id];
|
u8s[i++] = u8_tolower_final_tbl[uv][b3_base + start_id];
|
||||||
|
#else
|
||||||
|
__builtin_unreachable();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -1753,7 +1757,11 @@ do_norm_compare(size_t uv, uchar_t *s1, uchar_t *s2, size_t n1, size_t n2,
|
|||||||
s2last = s2 + n2;
|
s2last = s2 + n2;
|
||||||
|
|
||||||
is_it_toupper = flag & U8_TEXTPREP_TOUPPER;
|
is_it_toupper = flag & U8_TEXTPREP_TOUPPER;
|
||||||
|
#ifdef U8_STRCMP_CI_LOWER
|
||||||
is_it_tolower = flag & U8_TEXTPREP_TOLOWER;
|
is_it_tolower = flag & U8_TEXTPREP_TOLOWER;
|
||||||
|
#else
|
||||||
|
is_it_tolower = 0;
|
||||||
|
#endif
|
||||||
canonical_decomposition = flag & U8_CANON_DECOMP;
|
canonical_decomposition = flag & U8_CANON_DECOMP;
|
||||||
compatibility_decomposition = flag & U8_COMPAT_DECOMP;
|
compatibility_decomposition = flag & U8_COMPAT_DECOMP;
|
||||||
canonical_composition = flag & U8_CANON_COMP;
|
canonical_composition = flag & U8_CANON_COMP;
|
||||||
@ -1870,12 +1878,22 @@ u8_strcmp(const char *s1, const char *s2, size_t n, int flag, size_t uv,
|
|||||||
if (flag == 0) {
|
if (flag == 0) {
|
||||||
flag = U8_STRCMP_CS;
|
flag = U8_STRCMP_CS;
|
||||||
} else {
|
} else {
|
||||||
f = flag & (U8_STRCMP_CS | U8_STRCMP_CI_UPPER |
|
#ifdef U8_STRCMP_CI_LOWER
|
||||||
U8_STRCMP_CI_LOWER);
|
f = flag & (U8_STRCMP_CS | U8_STRCMP_CI_UPPER
|
||||||
|
| U8_STRCMP_CI_LOWER);
|
||||||
|
#else
|
||||||
|
f = flag & (U8_STRCMP_CS | U8_STRCMP_CI_UPPER);
|
||||||
|
#endif
|
||||||
if (f == 0) {
|
if (f == 0) {
|
||||||
flag |= U8_STRCMP_CS;
|
flag |= U8_STRCMP_CS;
|
||||||
} else if (f != U8_STRCMP_CS && f != U8_STRCMP_CI_UPPER &&
|
}
|
||||||
f != U8_STRCMP_CI_LOWER) {
|
#ifdef U8_STRCMP_CI_LOWER
|
||||||
|
else if (f != U8_STRCMP_CS && f != U8_STRCMP_CI_UPPER &&
|
||||||
|
f != U8_STRCMP_CI_LOWER)
|
||||||
|
#else
|
||||||
|
else if (f != U8_STRCMP_CS && f != U8_STRCMP_CI_UPPER)
|
||||||
|
#endif
|
||||||
|
{
|
||||||
*errnum = EBADF;
|
*errnum = EBADF;
|
||||||
flag = U8_STRCMP_CS;
|
flag = U8_STRCMP_CS;
|
||||||
}
|
}
|
||||||
@ -1908,10 +1926,13 @@ u8_strcmp(const char *s1, const char *s2, size_t n, int flag, size_t uv,
|
|||||||
if (flag == U8_STRCMP_CI_UPPER) {
|
if (flag == U8_STRCMP_CI_UPPER) {
|
||||||
return (do_case_compare(uv, (uchar_t *)s1, (uchar_t *)s2,
|
return (do_case_compare(uv, (uchar_t *)s1, (uchar_t *)s2,
|
||||||
n1, n2, B_TRUE, errnum));
|
n1, n2, B_TRUE, errnum));
|
||||||
} else if (flag == U8_STRCMP_CI_LOWER) {
|
}
|
||||||
|
#ifdef U8_STRCMP_CI_LOWER
|
||||||
|
else if (flag == U8_STRCMP_CI_LOWER) {
|
||||||
return (do_case_compare(uv, (uchar_t *)s1, (uchar_t *)s2,
|
return (do_case_compare(uv, (uchar_t *)s1, (uchar_t *)s2,
|
||||||
n1, n2, B_FALSE, errnum));
|
n1, n2, B_FALSE, errnum));
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
return (do_norm_compare(uv, (uchar_t *)s1, (uchar_t *)s2, n1, n2,
|
return (do_norm_compare(uv, (uchar_t *)s1, (uchar_t *)s2, n1, n2,
|
||||||
flag, errnum));
|
flag, errnum));
|
||||||
@ -1945,11 +1966,13 @@ u8_textprep_str(char *inarray, size_t *inlen, char *outarray, size_t *outlen,
|
|||||||
return ((size_t)-1);
|
return ((size_t)-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef U8_TEXTPREP_TOLOWER
|
||||||
f = flag & (U8_TEXTPREP_TOUPPER | U8_TEXTPREP_TOLOWER);
|
f = flag & (U8_TEXTPREP_TOUPPER | U8_TEXTPREP_TOLOWER);
|
||||||
if (f == (U8_TEXTPREP_TOUPPER | U8_TEXTPREP_TOLOWER)) {
|
if (f == (U8_TEXTPREP_TOUPPER | U8_TEXTPREP_TOLOWER)) {
|
||||||
*errnum = EBADF;
|
*errnum = EBADF;
|
||||||
return ((size_t)-1);
|
return ((size_t)-1);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
f = flag & (U8_CANON_DECOMP | U8_COMPAT_DECOMP | U8_CANON_COMP);
|
f = flag & (U8_CANON_DECOMP | U8_COMPAT_DECOMP | U8_CANON_COMP);
|
||||||
if (f && f != U8_TEXTPREP_NFD && f != U8_TEXTPREP_NFC &&
|
if (f && f != U8_TEXTPREP_NFD && f != U8_TEXTPREP_NFC &&
|
||||||
@ -1974,7 +1997,11 @@ u8_textprep_str(char *inarray, size_t *inlen, char *outarray, size_t *outlen,
|
|||||||
do_not_ignore_null = !(flag & U8_TEXTPREP_IGNORE_NULL);
|
do_not_ignore_null = !(flag & U8_TEXTPREP_IGNORE_NULL);
|
||||||
do_not_ignore_invalid = !(flag & U8_TEXTPREP_IGNORE_INVALID);
|
do_not_ignore_invalid = !(flag & U8_TEXTPREP_IGNORE_INVALID);
|
||||||
is_it_toupper = flag & U8_TEXTPREP_TOUPPER;
|
is_it_toupper = flag & U8_TEXTPREP_TOUPPER;
|
||||||
|
#ifdef U8_TEXTPREP_TOLOWER
|
||||||
is_it_tolower = flag & U8_TEXTPREP_TOLOWER;
|
is_it_tolower = flag & U8_TEXTPREP_TOLOWER;
|
||||||
|
#else
|
||||||
|
is_it_tolower = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
ret_val = 0;
|
ret_val = 0;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user