[PATCH 03/13] xfs_scrub: add a couple of omitted invisible code points

Darrick J. Wong
2023-12-31T22:45:50Z

I missed a few non-rendering code points in the "zero width"
classification code. Add them now, and sort the list.

$ wget https://www.unicode.org/Public/UCD/latest/ucd/UnicodeData.txt
$ grep -E '(zero width|invisible|joiner|application)' -i UnicodeData.txt

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
---
scrub/unicrash.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/scrub/unicrash.c b/scrub/unicrash.c
index 96e20114c48..fc1adb2caab 100644
--- a/scrub/unicrash.c
+++ b/scrub/unicrash.c
@@ -351,15 +351,17 @@ name_entry_examine(
while ((uchr = uiter_next32(&uiter)) != U_SENTINEL) {
/* zero width character sequences */
switch (uchr) {
+ case 0x034F: /* combining grapheme joiner */
case 0x200B: /* zero width space */
case 0x200C: /* zero width non-joiner */
case 0x200D: /* zero width joiner */
- case 0xFEFF: /* zero width non breaking space */
case 0x2060: /* word joiner */
case 0x2061: /* function application */
case 0x2062: /* invisible times (multiply) */
case 0x2063: /* invisible separator (comma) */
case 0x2064: /* invisible plus (addition) */
+ case 0x2D7F: /* tifinagh consonant joiner */
+ case 0xFEFF: /* zero width non breaking space */
*badflags |= UNICRASH_ZERO_WIDTH;
break;
}