]> git.ipfire.org Git - thirdparty/e2fsprogs.git/commitdiff
ext2fs: drop Unicode normalization support
authorGabriel Krisman Bertazi <krisman@collabora.com>
Sun, 28 Apr 2019 20:48:01 +0000 (16:48 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Sun, 28 Apr 2019 20:48:01 +0000 (16:48 -0400)
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>
lib/e2p/encoding.c
lib/ext2fs/ext2_fs.h
lib/ext2fs/nls.h
lib/ext2fs/nls_ascii.c
lib/ext2fs/nls_utf8.c

index ac7695e9424c7263b12b8f5a2ca8ca1303df3918..569d28941e7b4f98d33459969f3ae09e709a3ab4 100644 (file)
@@ -36,8 +36,7 @@ static const struct {
        {
                .encoding_magic = EXT4_ENC_UTF8_12_1,
                .name = "utf8",
-               .default_flags = (EXT4_UTF8_NORMALIZATION_TYPE_NFKD |
-                                 EXT4_UTF8_CASEFOLD_TYPE_NFKDCF)
+               .default_flags = 0,
        },
 };
 
index 8e60929f92c309d44ba8ac20d48abea68d9899e1..97189d8688b41badb849074425b28dcf006ef1a3 100644 (file)
@@ -1132,7 +1132,5 @@ struct mmp_struct {
 #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 */
index 79593f2a66d0429a65356ed5efc7130651282b04..ce92f8154b38aca103a749db1faa828fc1e5504b 100644 (file)
@@ -33,10 +33,6 @@ struct nls_table;
         (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);
index 5d513df404c11afab84da9025a60cb517121a9f9..cc03fea97ec59de94ff8a8e0aa9769817dcf4e7c 100644 (file)
@@ -39,28 +39,8 @@ static int ascii_casefold(const struct nls_table *table,
        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 = {
index 3db86572ff906cef52ecea09dacc86d492b817c8..857754d645dd9e7c0858f43df749cb8542631f66 100644 (file)
@@ -54,39 +54,8 @@ invalid_seq:
        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 = {