No longer necessary after +F design change.
Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
{
.encoding_magic = EXT4_ENC_UTF8_12_1,
.name = "utf8",
- .default_flags = (EXT4_UTF8_NORMALIZATION_TYPE_NFKD |
- EXT4_UTF8_CASEFOLD_TYPE_NFKDCF)
+ .default_flags = 0,
},
};
#define EXT4_ENC_UTF8_12_1 1
#define EXT4_ENC_STRICT_MODE_FL (1 << 0) /* Reject invalid sequences */
-#define EXT4_UTF8_NORMALIZATION_TYPE_NFKD (1 << 1)
-#define EXT4_UTF8_CASEFOLD_TYPE_NFKDCF (1 << 4)
#endif /* _LINUX_EXT2_FS_H */
(sizeof(array) / sizeof(array[0]))
struct nls_ops {
- int (*normalize)(const struct nls_table *charset,
- const unsigned char *str, size_t len,
- unsigned char *dest, size_t dlen);
-
int (*casefold)(const struct nls_table *charset,
const unsigned char *str, size_t len,
unsigned char *dest, size_t dlen);
return len;
}
-static int ascii_normalize(const struct nls_table *table,
- const unsigned char *str, size_t len,
- unsigned char *dest, size_t dlen)
-{
- int i;
-
- if (dlen < len)
- return -ENAMETOOLONG;
-
- for (i = 0; i < len; i++) {
- if (str[i] & 0x80)
- return -EINVAL;
-
- dest[i] = str[i];
- }
-
- return len;
-}
-
const static struct nls_ops ascii_ops = {
.casefold = ascii_casefold,
- .normalize = ascii_normalize,
};
const struct nls_table nls_ascii = {
return -EINVAL;
}
-static int utf8_normalize(const struct nls_table *table,
- const unsigned char *str, size_t len,
- unsigned char *dest, size_t dlen)
-{
- const struct utf8data *data = utf8nfdi(table->version);
- struct utf8cursor cur;
- ssize_t nlen = 0;
-
- if (utf8ncursor(&cur, data, str, len) < 0)
- goto invalid_seq;
-
- for (nlen = 0; nlen < dlen; nlen++) {
- dest[nlen] = utf8byte(&cur);
- if (!dest[nlen])
- return nlen;
- if (dest[nlen] == -1)
- break;
- }
-
- return -ENAMETOOLONG;
-
-invalid_seq:
- if (dlen < len)
- return -ENAMETOOLONG;
-
- /* Signal invalid sequence */
- return -EINVAL;
-}
-
const static struct nls_ops utf8_ops = {
.casefold = utf8_casefold,
- .normalize = utf8_normalize,
-
};
const struct nls_table nls_utf8_12_1 = {