libprocessgroup: Use default member initializers
... instead of direct initialization in the default constructor
implementation. This allows us to just explicitly default the
constructor and provide no implementation.
Initialize class variables in the header and remove no-op constructor
to simplify code.
Bug: 346584259
Test: m
Change-Id: Iba57f5cfbf8e4d5d18ce178d39f8bcd2d76c8aaa
diff --git a/libprocessgroup/cgroup_map.h b/libprocessgroup/cgroup_map.h
index 5c6d3e2..9dd5bf5 100644
--- a/libprocessgroup/cgroup_map.h
+++ b/libprocessgroup/cgroup_map.h
@@ -32,7 +32,7 @@
public:
// Does not own controller
explicit CgroupController(const ACgroupController* controller)
- : controller_(controller), state_(UNKNOWN) {}
+ : controller_(controller) {}
uint32_t version() const;
const char* name() const;
@@ -53,7 +53,7 @@
};
const ACgroupController* controller_ = nullptr;
- ControllerState state_;
+ ControllerState state_ = ControllerState::UNKNOWN;
};
class CgroupMap {
diff --git a/libprocessgroup/cgrouprc_format/cgroup_controller.cpp b/libprocessgroup/cgrouprc_format/cgroup_controller.cpp
index 202b23e..baf8f9d 100644
--- a/libprocessgroup/cgrouprc_format/cgroup_controller.cpp
+++ b/libprocessgroup/cgrouprc_format/cgroup_controller.cpp
@@ -20,11 +20,6 @@
namespace cgrouprc {
namespace format {
-CgroupController::CgroupController() : version_(0), flags_(0) {
- memset(name_, 0, sizeof(name_));
- memset(path_, 0, sizeof(path_));
-}
-
CgroupController::CgroupController(uint32_t version, uint32_t flags, const std::string& name,
const std::string& path)
: CgroupController() {
diff --git a/libprocessgroup/cgrouprc_format/include/processgroup/format/cgroup_controller.h b/libprocessgroup/cgrouprc_format/include/processgroup/format/cgroup_controller.h
index 40d8548..8d3aa56 100644
--- a/libprocessgroup/cgrouprc_format/include/processgroup/format/cgroup_controller.h
+++ b/libprocessgroup/cgrouprc_format/include/processgroup/format/cgroup_controller.h
@@ -16,7 +16,7 @@
#pragma once
-#include <stdint.h>
+#include <cstdint>
#include <string>
namespace android {
@@ -26,7 +26,7 @@
// Minimal controller description to be mmapped into process address space
struct CgroupController {
public:
- CgroupController();
+ CgroupController() = default;
CgroupController(uint32_t version, uint32_t flags, const std::string& name,
const std::string& path);
@@ -41,10 +41,10 @@
static constexpr size_t CGROUP_NAME_BUF_SZ = 16;
static constexpr size_t CGROUP_PATH_BUF_SZ = 32;
- uint32_t version_;
- uint32_t flags_;
- char name_[CGROUP_NAME_BUF_SZ];
- char path_[CGROUP_PATH_BUF_SZ];
+ uint32_t version_ = 0;
+ uint32_t flags_ = 0;
+ char name_[CGROUP_NAME_BUF_SZ] = {};
+ char path_[CGROUP_PATH_BUF_SZ] = {};
};
} // namespace format