Fix: agent port file is o+w when launching as root
[lttng-tools.git] / src / bin / lttng-sessiond / field.cpp
index 25f0e4676bf2f28aed15c311f218ac59a418ce9f..604092a3b86c9c5352a3ab3cd649f6ad77cc2312 100644 (file)
@@ -10,6 +10,8 @@
 #include <common/exception.hpp>
 #include <common/format.hpp>
 
+#include <set>
+
 namespace lst = lttng::sessiond::trace;
 
 namespace {
@@ -72,8 +74,8 @@ lst::integer_type::integer_type(unsigned int in_alignment,
        type(in_alignment),
        byte_order{in_byte_order},
        size{in_size},
-       signedness{in_signedness},
-       base{in_base}
+       signedness_{in_signedness},
+       base_{in_base}
 {
 }
 
@@ -83,8 +85,8 @@ bool lst::integer_type::_is_equal(const type &base_other) const noexcept
 
        return this->byte_order == other.byte_order &&
                this->size == other.size &&
-               this->signedness == other.signedness &&
-               this->base == other.base;
+               this->signedness_ == other.signedness_ &&
+               this->base_ == other.base_;
 }
 
 void lst::integer_type::accept(type_visitor& visitor) const
@@ -111,19 +113,16 @@ lst::floating_point_type::floating_point_type(unsigned int in_alignment,
        mantissa_digits(in_mantissa_digits)
 {
        /* Allowed (exponent, mantissa) pairs. */
-       static const std::vector<std::pair<unsigned int, unsigned int>> allowed_pairs{
+       static const std::set<std::pair<unsigned int, unsigned int>> allowed_pairs{
                        {5, 11}, /* binary16 */
                        {8, 24}, /* binary32 */
                        {11, 53}, /* binary64 */
                        {15, 113}, /* binary128 */
        };
 
-       const auto input_pair = decltype(allowed_pairs)::value_type(exponent_digits, mantissa_digits);
-       for (const auto& pair : allowed_pairs) {
-               if (input_pair == pair) {
-                       /* mantissa and exponent digits is a valid pair. */
-                       return;
-               }
+       if (allowed_pairs.find({exponent_digits, mantissa_digits}) != allowed_pairs.end()) {
+               /* mantissa and exponent digits is a valid pair. */
+               return;
        }
 
        LTTNG_THROW_INVALID_ARGUMENT_ERROR(
@@ -154,6 +153,9 @@ lst::enumeration_type::enumeration_type(unsigned int in_alignment,
 {
 }
 
+namespace lttng {
+namespace sessiond {
+namespace trace {
 template <>
 void lst::signed_enumeration_type::accept(type_visitor& visitor) const
 {
@@ -165,6 +167,9 @@ void lst::unsigned_enumeration_type::accept(type_visitor& visitor) const
 {
        visitor.visit(*this);
 }
+} /* namespace trace */
+} /* namespace sessiond */
+} /* namespace lttng */
 
 lst::array_type::array_type(unsigned int in_alignment, type::cuptr in_element_type) :
        type(in_alignment), element_type{std::move(in_element_type)}
@@ -220,7 +225,7 @@ void lst::dynamic_length_array_type::accept(type_visitor& visitor) const
 }
 
 lst::string_type::string_type(unsigned int in_alignment, enum encoding in_encoding) :
-       type(in_alignment), encoding{in_encoding}
+       type(in_alignment), encoding_{in_encoding}
 {
 }
 
@@ -228,7 +233,7 @@ bool lst::string_type::_is_equal(const type& base_other) const noexcept
 {
        const auto& other = static_cast<decltype(*this)&>(base_other);
 
-       return this->encoding == other.encoding;
+       return this->encoding_ == other.encoding_;
 }
 
 lst::static_length_string_type::static_length_string_type(
@@ -317,4 +322,4 @@ bool lst::variant_type::_is_equal(const type& base_other) const noexcept
 void lst::variant_type::accept(type_visitor& visitor) const
 {
        visitor.visit(*this);
-}
\ No newline at end of file
+}
This page took 0.026034 seconds and 4 git commands to generate.