On Fri, Nov 17, 2017 at 04:20:05PM +0800, Ting-Chang Hou wrote: > The unicode of hangul from macOS is decomposed. There has a bug that > mistake decomposed unicode for composed when change unicode to ascii, > so it cannot recognize the hangul correctly. > > Signed-off-by: Ting-Chang Hou <tchou@xxxxxxxxxxxx> > --- > fs/hfsplus/unicode.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/hfsplus/unicode.c b/fs/hfsplus/unicode.c > index dfa90c2..2daf7b0 100644 > --- a/fs/hfsplus/unicode.c > +++ b/fs/hfsplus/unicode.c > @@ -135,7 +135,7 @@ int hfsplus_uni2asc(struct super_block *sb, > ustrlen = be16_to_cpu(ustr->length); > len = *len_p; > ce1 = NULL; > - compose = !test_bit(HFSPLUS_SB_NODECOMPOSE, &HFSPLUS_SB(sb)->flags); > + compose = test_bit(HFSPLUS_SB_NODECOMPOSE, &HFSPLUS_SB(sb)->flags); I'm not sure this is a mistake. The developers probably wanted the filenames to be recomposed before being presented in utf8. With your patch, if you try the following (with the default mount options): touch Á ls | hexdump -C the utf8 output filename will be using the combining accent (CC 81) instead of the Á character (C3 81). This is a bit annoying because it won't print correctly in my terminal anymore. What is it exactly that you are trying to fix? You mention an issue with hangul characters, but I failed to trigger it. Could you expand on that? > while (ustrlen > 0) { > c0 = be16_to_cpu(*ip++); > -- > 2.7.4 >