From 5747e45ab31cb9ad87fe17c7d4de0faf3324812b Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=A9mie=20Galarneau?= Date: Fri, 2 Oct 2020 17:25:11 -0400 Subject: [PATCH] optional: Add LTTNG_OPTIONAL_INIT_VALUE MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Add helper to initialize an optional field to a 'set' value. Signed-off-by: Jérémie Galarneau Change-Id: I439302ebec2433abcf7edb6167bf5b02db5a9a55 --- src/common/optional.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/common/optional.h b/src/common/optional.h index faa64bf60..ca7d1f043 100644 --- a/src/common/optional.h +++ b/src/common/optional.h @@ -79,12 +79,17 @@ }) /* - * Initialize an optional field. + * Initialize an optional field as unset. * * The wrapped field is set to the value it would gave if it had static storage * duration. */ -#define LTTNG_OPTIONAL_INIT { .is_set = 0 } +#define LTTNG_OPTIONAL_INIT_UNSET { .is_set = 0 } + +/* + * Initialize an optional field as 'set' with a given value. + */ +#define LTTNG_OPTIONAL_INIT_VALUE(val) { .value = val, .is_set = 1 } /* Set the value of an optional field. */ #define LTTNG_OPTIONAL_SET(field_ptr, val) \ -- 2.34.1