Merge "init: move empty string check to InitTriggers" am: 9bf10ff61e am: 5514c50292 am: 934f465edb
am: 4c3de75a28
Change-Id: I9fba6c1b91305ac17350a4dd55569c4eb76d51f7
diff --git a/init/action.cpp b/init/action.cpp
index acbb12e..0ea7e14 100644
--- a/init/action.cpp
+++ b/init/action.cpp
@@ -157,6 +157,11 @@
bool Action::InitTriggers(const std::vector<std::string>& args, std::string* err) {
const static std::string prop_str("property:");
for (std::size_t i = 0; i < args.size(); ++i) {
+ if (args[i].empty()) {
+ *err = "empty trigger is not valid";
+ return false;
+ }
+
if (i % 2) {
if (args[i] != "&&") {
*err = "&& is the only symbol allowed to concatenate actions";
@@ -186,7 +191,11 @@
bool Action::InitSingleTrigger(const std::string& trigger) {
std::vector<std::string> name_vector{trigger};
std::string err;
- return InitTriggers(name_vector, &err);
+ bool ret = InitTriggers(name_vector, &err);
+ if (!ret) {
+ LOG(ERROR) << "InitSingleTrigger failed due to: " << err;
+ }
+ return ret;
}
// This function checks that all property triggers are satisfied, that is
@@ -252,9 +261,7 @@
result += event_trigger_;
result += ' ';
}
- if (!result.empty()) {
- result.pop_back();
- }
+ result.pop_back();
return result;
}