nss-systemd,strv: use a common definition of a non-NULL but empty strv
Follow-up for: 239903d44c
This commit is contained in:
committed by
Lennart Poettering
parent
8df624bfdd
commit
d423ec258c
@@ -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 */
|
||||
|
||||
@@ -1297,3 +1297,5 @@ char** strv_filter_prefix(char * const *l, const char *prefix) {
|
||||
|
||||
return TAKE_PTR(f);
|
||||
}
|
||||
|
||||
const char* const strv_empty[] = { NULL };
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user