init: enable C++17
Test: Boot bullhead
Change-Id: I40961ff765461e8aef211d27158ffb7c4be76493
diff --git a/init/Android.mk b/init/Android.mk
index 1a47eb4..2a1ad9c 100644
--- a/init/Android.mk
+++ b/init/Android.mk
@@ -17,6 +17,7 @@
-Wall -Wextra \
-Wno-unused-parameter \
-Werror \
+ -std=gnu++1z \
# --
diff --git a/init/action.cpp b/init/action.cpp
index 65bf292..09de81a 100644
--- a/init/action.cpp
+++ b/init/action.cpp
@@ -146,8 +146,7 @@
std::string prop_value(prop_name.substr(equal_pos + 1));
prop_name.erase(equal_pos);
- auto res = property_triggers_.emplace(prop_name, prop_value);
- if (res.second == false) {
+ if (auto [it, inserted] = property_triggers_.emplace(prop_name, prop_value); !inserted) {
*err = "multiple property triggers found for same property";
return false;
}
@@ -212,9 +211,7 @@
}
bool found = name.empty();
- for (const auto& t : property_triggers_) {
- const auto& trigger_name = t.first;
- const auto& trigger_value = t.second;
+ for (const auto& [trigger_name, trigger_value] : property_triggers_) {
if (trigger_name == name) {
if (trigger_value != "*" && trigger_value != value) {
return false;
@@ -251,10 +248,10 @@
std::string Action::BuildTriggersString() const {
std::string result;
- for (const auto& t : property_triggers_) {
- result += t.first;
+ for (const auto& [trigger_name, trigger_value] : property_triggers_) {
+ result += trigger_name;
result += '=';
- result += t.second;
+ result += trigger_value;
result += ' ';
}
if (!event_trigger_.empty()) {