common: replace container_of with a C++ safe implementation
[lttng-tools.git] / src / lib / lttng-ctl / rotate.cpp
index ed198922ee6535daf2fccc86a5bf617cb8da3e4d..3f1848a809c051d03a4571401cca436c8216b583 100644 (file)
 
 #include <lttng/lttng-error.h>
 #include <lttng/rotation.h>
-#include <lttng/location-internal.h>
-#include <lttng/rotate-internal.h>
-#include <common/sessiond-comm/sessiond-comm.h>
-#include <common/macros.h>
+#include <lttng/location-internal.hpp>
+#include <lttng/rotate-internal.hpp>
+#include <common/sessiond-comm/sessiond-comm.hpp>
+#include <common/macros.hpp>
 
-#include "lttng-ctl-helper.h"
+#include "lttng-ctl-helper.hpp"
 
 static
 enum lttng_rotation_status ask_rotation_info(
@@ -230,7 +230,7 @@ int lttng_rotate_session(const char *session_name,
                goto end;
        }
 
-       *rotation_handle = (lttng_rotation_handle *) zmalloc(sizeof(struct lttng_rotation_handle));
+       *rotation_handle = zmalloc<lttng_rotation_handle>();
        if (!*rotation_handle) {
                ret = -LTTNG_ERR_NOMEM;
                goto end;
@@ -350,7 +350,7 @@ end:
 static
 struct lttng_rotation_schedules *lttng_rotation_schedules_create(void)
 {
-       return (lttng_rotation_schedules *) zmalloc(sizeof(struct lttng_rotation_schedules));
+       return zmalloc<lttng_rotation_schedules>();
 }
 
 static
@@ -463,7 +463,7 @@ lttng_rotation_schedule_size_threshold_create(void)
 {
        struct lttng_rotation_schedule_size_threshold *schedule;
 
-       schedule = (lttng_rotation_schedule_size_threshold *) zmalloc(sizeof(*schedule));
+       schedule = zmalloc<lttng_rotation_schedule_size_threshold>();
        if (!schedule) {
                goto end;
        }
@@ -487,9 +487,8 @@ lttng_rotation_schedule_size_threshold_get_threshold(
                goto end;
        }
 
-       size_schedule = container_of(schedule,
-                       struct lttng_rotation_schedule_size_threshold,
-                       parent);
+       size_schedule = lttng::utils::container_of(schedule,
+                       &lttng_rotation_schedule_size_threshold::parent);
        if (size_schedule->size.set) {
                *size_threshold_bytes = size_schedule->size.bytes;
        } else {
@@ -515,9 +514,8 @@ lttng_rotation_schedule_size_threshold_set_threshold(
                goto end;
        }
 
-       size_schedule = container_of(schedule,
-                       struct lttng_rotation_schedule_size_threshold,
-                       parent);
+       size_schedule = lttng::utils::container_of(schedule,
+                       &lttng_rotation_schedule_size_threshold::parent);
        size_schedule->size.bytes = size_threshold_bytes;
        size_schedule->size.set = true;
 end:
@@ -529,7 +527,7 @@ lttng_rotation_schedule_periodic_create(void)
 {
        struct lttng_rotation_schedule_periodic *schedule;
 
-       schedule = (lttng_rotation_schedule_periodic *) zmalloc(sizeof(*schedule));
+       schedule = zmalloc<lttng_rotation_schedule_periodic>();
        if (!schedule) {
                goto end;
        }
@@ -553,9 +551,8 @@ lttng_rotation_schedule_periodic_get_period(
                goto end;
        }
 
-       periodic_schedule = container_of(schedule,
-                       struct lttng_rotation_schedule_periodic,
-                       parent);
+       periodic_schedule = lttng::utils::container_of(schedule,
+                       &lttng_rotation_schedule_periodic::parent);
        if (periodic_schedule->period.set) {
                *period_us = periodic_schedule->period.us;
        } else {
@@ -580,9 +577,8 @@ lttng_rotation_schedule_periodic_set_period(
                goto end;
        }
 
-       periodic_schedule = container_of(schedule,
-                       struct lttng_rotation_schedule_periodic,
-                       parent);
+       periodic_schedule = lttng::utils::container_of(schedule,
+                       &lttng_rotation_schedule_periodic::parent);
        periodic_schedule->period.us = period_us;
        periodic_schedule->period.set = true;
 end:
This page took 0.024007 seconds and 4 git commands to generate.