nss-systemd,strv: use a common definition of a non-NULL but empty strv

Follow-up for: 239903d44c
This commit is contained in:
Lennart Poettering
2026-03-01 08:51:14 +01:00
committed by Lennart Poettering
parent 8df624bfdd
commit d423ec258c
4 changed files with 14 additions and 7 deletions
-1
View File
@@ -152,7 +152,6 @@ static inline unsigned long ALIGN_POWER2(unsigned long u) {
} while (false)
#define STRV_MAKE(...) ((char**) ((const char*[]) { __VA_ARGS__, NULL }))
#define STRV_EMPTY ((char*[1]) { NULL })
#define STRV_MAKE_CONST(...) ((const char* const*) ((const char*[]) { __VA_ARGS__, NULL }))
/* Pointers range from NULL to POINTER_MAX */
+2
View File
@@ -1297,3 +1297,5 @@ char** strv_filter_prefix(char * const *l, const char *prefix) {
return TAKE_PTR(f);
}
const char* const strv_empty[] = { NULL };
+6
View File
@@ -221,3 +221,9 @@ int string_strv_ordered_hashmap_put(OrderedHashmap **h, const char *key, const c
int strv_rebreak_lines(char **l, size_t width, char ***ret);
char** strv_filter_prefix(char * const *l, const char *prefix);
/* whenever we need to initialize something with a constant non-NULL, but empty strv, we can use this shared
* one */
extern const char* const strv_empty[1];
#define STRV_EMPTY ((char**) strv_empty)
+6 -6
View File
@@ -69,28 +69,28 @@ static const struct group root_group = {
.gr_name = (char*) "root",
.gr_gid = 0,
.gr_passwd = (char*) PASSWORD_SEE_SHADOW,
.gr_mem = (char*[]) { NULL },
.gr_mem = STRV_EMPTY,
};
static const struct sgrp root_sgrp = {
.sg_namp = (char*) "root",
.sg_passwd = (char*) PASSWORD_LOCKED_AND_INVALID,
.sg_adm = (char*[]) { NULL },
.sg_mem = (char*[]) { NULL },
.sg_adm = STRV_EMPTY,
.sg_mem = STRV_EMPTY,
};
static const struct group nobody_group = {
.gr_name = (char*) NOBODY_GROUP_NAME,
.gr_gid = GID_NOBODY,
.gr_passwd = (char*) PASSWORD_LOCKED_AND_INVALID,
.gr_mem = (char*[]) { NULL },
.gr_mem = STRV_EMPTY,
};
static const struct sgrp nobody_sgrp = {
.sg_namp = (char*) NOBODY_GROUP_NAME,
.sg_passwd = (char*) PASSWORD_LOCKED_AND_INVALID,
.sg_adm = (char*[]) { NULL },
.sg_mem = (char*[]) { NULL },
.sg_adm = STRV_EMPTY,
.sg_mem = STRV_EMPTY,
};
typedef struct GetentData {