mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager
synced 2024-09-30 13:24:48 +00:00
shared: add macros for initializing NMSecretPtr
This commit is contained in:
parent
2fa7a7c20b
commit
99ae5322c9
|
@ -75,6 +75,19 @@ typedef struct {
|
|||
};
|
||||
} NMSecretPtr;
|
||||
|
||||
static inline void
|
||||
nm_secret_ptr_bzero (NMSecretPtr *secret)
|
||||
{
|
||||
if (secret) {
|
||||
if (secret->len > 0) {
|
||||
if (secret->ptr)
|
||||
nm_explicit_bzero (secret->ptr, secret->len);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#define nm_auto_bzero_secret_ptr nm_auto(nm_secret_ptr_bzero)
|
||||
|
||||
static inline void
|
||||
nm_secret_ptr_clear (NMSecretPtr *secret)
|
||||
{
|
||||
|
@ -90,12 +103,24 @@ nm_secret_ptr_clear (NMSecretPtr *secret)
|
|||
|
||||
#define nm_auto_clear_secret_ptr nm_auto(nm_secret_ptr_clear)
|
||||
|
||||
#define NM_SECRET_PTR_INIT() \
|
||||
((const NMSecretPtr) { \
|
||||
.len = 0, \
|
||||
.ptr = NULL, \
|
||||
})
|
||||
|
||||
#define NM_SECRET_PTR_STATIC(_len) \
|
||||
((const NMSecretPtr) { \
|
||||
.len = _len, \
|
||||
.ptr = ((guint8 [_len]) { }), \
|
||||
})
|
||||
|
||||
#define NM_SECRET_PTR_ARRAY(_arr) \
|
||||
((const NMSecretPtr) { \
|
||||
.len = G_N_ELEMENTS (_arr) * sizeof ((_arr)[0]), \
|
||||
.ptr = &((_arr)[0]), \
|
||||
})
|
||||
|
||||
static inline void
|
||||
nm_secret_ptr_clear_static (const NMSecretPtr *secret)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue