<sys/extattr.h>: use designated initializers for EXTATTR_NAMESPACE_NAMES

This is not a functional change, but it makes it more clear upon
inspection of the definition that the mapping property described is
preserved.  Maybe more importantly, if one ends up getting an index
wrong or punching a hole in the name array unexpectedly, then it'll
hopefully manifest more clearly as a (null) or nullptr deref rather than
potentially just emitting the wrong namespace name.

It's noted that this almost certainly invalidates its use in C++, but
there aren't really any known C++ consumers of it- let's just cross
that bridge if we get there.

Reviewed by:	kib, mckusick, rmacklem
Sponsored by:	Klara, Inc.
Differential Revision:	https://reviews.freebsd.org/D55323
This commit is contained in:
Kyle Evans
2026-04-08 21:41:12 -05:00
parent 22fba3a9d6
commit 84ce651836
+3 -3
View File
@@ -53,9 +53,9 @@
* char *extattr_namespace_names[] = EXTATTR_NAMESPACE_NAMES; * char *extattr_namespace_names[] = EXTATTR_NAMESPACE_NAMES;
*/ */
#define EXTATTR_NAMESPACE_NAMES { \ #define EXTATTR_NAMESPACE_NAMES { \
EXTATTR_NAMESPACE_EMPTY_STRING, \ [EXTATTR_NAMESPACE_EMPTY] = EXTATTR_NAMESPACE_EMPTY_STRING, \
EXTATTR_NAMESPACE_USER_STRING, \ [EXTATTR_NAMESPACE_USER] = EXTATTR_NAMESPACE_USER_STRING, \
EXTATTR_NAMESPACE_SYSTEM_STRING } [EXTATTR_NAMESPACE_SYSTEM] = EXTATTR_NAMESPACE_SYSTEM_STRING }
#define EXTATTR_MAXNAMELEN NAME_MAX #define EXTATTR_MAXNAMELEN NAME_MAX