From: Jérémie Galarneau Date: Fri, 2 Oct 2020 21:25:11 +0000 (-0400) Subject: optional: Add LTTNG_OPTIONAL_INIT_VALUE X-Git-Tag: v2.13.0-rc1~448 X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=commitdiff_plain;h=5747e45ab31cb9ad87fe17c7d4de0faf3324812b optional: Add LTTNG_OPTIONAL_INIT_VALUE Add helper to initialize an optional field to a 'set' value. Signed-off-by: Jérémie Galarneau Change-Id: I439302ebec2433abcf7edb6167bf5b02db5a9a55 --- 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) \