Lines Matching +full:c +full:- +full:version +full:- +full:name
1 /* SPDX-License-Identifier: GPL-2.0 */
14 if (utf8nlen(um, UTF8_NFDI, str->name, str->len) < 0) in utf8_validate()
15 return -1; in utf8_validate()
26 if (utf8ncursor(&cur1, um, UTF8_NFDI, s1->name, s1->len) < 0) in utf8_strncmp()
27 return -EINVAL; in utf8_strncmp()
29 if (utf8ncursor(&cur2, um, UTF8_NFDI, s2->name, s2->len) < 0) in utf8_strncmp()
30 return -EINVAL; in utf8_strncmp()
37 return -EINVAL; in utf8_strncmp()
52 if (utf8ncursor(&cur1, um, UTF8_NFDICF, s1->name, s1->len) < 0) in utf8_strncasecmp()
53 return -EINVAL; in utf8_strncasecmp()
55 if (utf8ncursor(&cur2, um, UTF8_NFDICF, s2->name, s2->len) < 0) in utf8_strncasecmp()
56 return -EINVAL; in utf8_strncasecmp()
63 return -EINVAL; in utf8_strncasecmp()
72 /* String cf is expected to be a valid UTF-8 casefolded
83 if (utf8ncursor(&cur1, um, UTF8_NFDICF, s1->name, s1->len) < 0) in utf8_strncasecmp_folded()
84 return -EINVAL; in utf8_strncasecmp_folded()
88 c2 = cf->name[i++]; in utf8_strncasecmp_folded()
90 return -EINVAL; in utf8_strncasecmp_folded()
105 if (utf8ncursor(&cur, um, UTF8_NFDICF, str->name, str->len) < 0) in utf8_casefold()
106 return -EINVAL; in utf8_casefold()
109 int c = utf8byte(&cur); in utf8_casefold() local
111 dest[nlen] = c; in utf8_casefold()
112 if (!c) in utf8_casefold()
114 if (c == -1) in utf8_casefold()
117 return -EINVAL; in utf8_casefold()
125 int c; in utf8_casefold_hash() local
128 if (utf8ncursor(&cur, um, UTF8_NFDICF, str->name, str->len) < 0) in utf8_casefold_hash()
129 return -EINVAL; in utf8_casefold_hash()
131 while ((c = utf8byte(&cur))) { in utf8_casefold_hash()
132 if (c < 0) in utf8_casefold_hash()
133 return -EINVAL; in utf8_casefold_hash()
134 hash = partial_name_hash((unsigned char)c, hash); in utf8_casefold_hash()
136 str->hash = end_name_hash(hash); in utf8_casefold_hash()
147 if (utf8ncursor(&cur, um, UTF8_NFDI, str->name, str->len) < 0) in utf8_normalize()
148 return -EINVAL; in utf8_normalize()
151 int c = utf8byte(&cur); in utf8_normalize() local
153 dest[nlen] = c; in utf8_normalize()
154 if (!c) in utf8_normalize()
156 if (c == -1) in utf8_normalize()
159 return -EINVAL; in utf8_normalize()
164 size_t nr_entries, unsigned int version) in find_table_version() argument
166 size_t i = nr_entries - 1; in find_table_version()
168 while (version < table[i].maxage) in find_table_version()
169 i--; in find_table_version()
170 if (version > table[i].maxage) in find_table_version()
175 struct unicode_map *utf8_load(unsigned int version) in utf8_load() argument
181 return ERR_PTR(-ENOMEM); in utf8_load()
182 um->version = version; in utf8_load()
184 um->tables = symbol_request(utf8_data_table); in utf8_load()
185 if (!um->tables) in utf8_load()
188 if (!utf8version_is_supported(um, version)) in utf8_load()
190 um->ntab[UTF8_NFDI] = find_table_version(um->tables->utf8nfdidata, in utf8_load()
191 um->tables->utf8nfdidata_size, um->version); in utf8_load()
192 if (!um->ntab[UTF8_NFDI]) in utf8_load()
194 um->ntab[UTF8_NFDICF] = find_table_version(um->tables->utf8nfdicfdata, in utf8_load()
195 um->tables->utf8nfdicfdata_size, um->version); in utf8_load()
196 if (!um->ntab[UTF8_NFDICF]) in utf8_load()
204 return ERR_PTR(-EINVAL); in utf8_load()
218 * utf8_parse_version - Parse a UTF-8 version number from a string
220 * @version: input string
222 * Returns the parsed version on success, negative code on error
224 int utf8_parse_version(char *version) in utf8_parse_version() argument
233 if (match_token(version, token, args) != 1) in utf8_parse_version()
234 return -EINVAL; in utf8_parse_version()
238 return -EINVAL; in utf8_parse_version()