The ->d_compare() dentry operation is not allowed to fail. Before
the APFS module can implement it, apfs_init_unicursor() and
apfs_normalize_next() must be reworked accordingly.
Move the head of unicode.c and unicode.h to separate files, and write
alternative versions for running tests in user space. Since there are
no official unicode tests for case folding, the mktrie script must also
produce another version of the case folding trie, with no values.
Setup the Makefile so that the tests are run with every recompilation,
printing the results to build/test.out.
Correct a few problems with whitespace that mktrie was introducing in
unicode.c. They were found by the checkpatch.pl script of the Linux
kernel. Also replace kmalloc() with kmalloc_array() for the cursor
buffer.
Soon this script will be putting the C code through the normalization
tests provided by Unicode. The most practical way to do this is to keep
the C functions inside the same repository, and later provide two build
options: one for use by the kernel module, and another for testing in
user space.