common: replace container_of with a C++ safe implementation
[lttng-tools.git] / src / common / actions / start-session.cpp
index f9138f51a56f8b20fd2aee980ea800d779b0e758..2c9f799727e43ad454ab32610c16fe14000b68a6 100644 (file)
@@ -17,6 +17,7 @@
 #define IS_START_SESSION_ACTION(action) \
        (lttng_action_get_type(action) == LTTNG_ACTION_TYPE_START_SESSION)
 
+namespace {
 struct lttng_action_start_session {
        struct lttng_action parent;
 
@@ -37,6 +38,7 @@ struct lttng_action_start_session_comm {
         */
        char data[];
 } LTTNG_PACKED;
+} /* namespace */
 
 static const struct lttng_rate_policy *
 lttng_action_start_session_internal_get_rate_policy(
@@ -47,7 +49,7 @@ static struct lttng_action_start_session *action_start_session_from_action(
 {
        LTTNG_ASSERT(action);
 
-       return container_of(action, struct lttng_action_start_session, parent);
+       return lttng::utils::container_of(action, &lttng_action_start_session::parent);
 }
 
 static const struct lttng_action_start_session *
@@ -55,7 +57,7 @@ action_start_session_from_action_const(const struct lttng_action *action)
 {
        LTTNG_ASSERT(action);
 
-       return container_of(action, struct lttng_action_start_session, parent);
+       return lttng::utils::container_of(action, &lttng_action_start_session::parent);
 }
 
 static bool lttng_action_start_session_validate(struct lttng_action *action)
@@ -88,8 +90,8 @@ static bool lttng_action_start_session_is_equal(
        bool is_equal = false;
        struct lttng_action_start_session *a, *b;
 
-       a = container_of(_a, struct lttng_action_start_session, parent);
-       b = container_of(_b, struct lttng_action_start_session, parent);
+       a = lttng::utils::container_of(_a, &lttng_action_start_session::parent);
+       b = lttng::utils::container_of(_b, &lttng_action_start_session::parent);
 
        /* Action is not valid if this is not true. */
        LTTNG_ASSERT(a->session_name);
This page took 0.023511 seconds and 4 git commands to generate.