fsck_msdosfs: avoid warnings about too-long initializer strings

Mark `dot_name` and `dotdot_name` as as `__non_string`, to avoid
warnings from clang 21 similar to:

    sbin/fsck_msdosfs/dir.c:466:39: error: initializer-string for character array is too long, array size is 11 but initializer has size 12 (including the null terminating character); did you mean to use the 'nonstring' attribute? [-Werror,-Wunterminated-string-initialization]
      466 | static const u_char dot_name[11]    = ".          ";
          |                                       ^~~~~~~~~~~~~
    sbin/fsck_msdosfs/dir.c:467:39: error: initializer-string for character array is too long, array size is 11 but initializer has size 12 (including the null terminating character); did you mean to use the 'nonstring' attribute? [-Werror,-Wunterminated-string-initialization]
      467 | static const u_char dotdot_name[11] = "..         ";
          |                                       ^~~~~~~~~~~~~

MFC after:	3 days
This commit is contained in:
Dimitry Andric
2025-12-25 21:28:14 +01:00
parent 5629b5cf79
commit 98c3d868fb
+2 -2
View File
@@ -463,8 +463,8 @@ checksize(struct fat_descriptor *fat, u_char *p, struct dosDirEntry *dir)
return FSOK;
}
static const u_char dot_name[11] = ". ";
static const u_char dotdot_name[11] = ".. ";
static const u_char dot_name[11] __nonstring = ". ";
static const u_char dotdot_name[11] __nonstring = ".. ";
/*
* Basic sanity check if the subdirectory have good '.' and '..' entries,