set-verity-state: Simplify args parsing logic
Bug: 241688845
Test: adb [disable|enable]-verity
Test: adb shell set-verity-state [0|1]
Change-Id: I751e6b79c690d986a9cde7fc94c81c5b3ce884f0
diff --git a/set-verity-state/set-verity-state.cpp b/set-verity-state/set-verity-state.cpp
index e132263..d8e3d31 100644
--- a/set-verity-state/set-verity-state.cpp
+++ b/set-verity-state/set-verity-state.cpp
@@ -24,6 +24,8 @@
#include <fs_mgr_overlayfs.h>
#include <log/log_properties.h>
+using namespace std::string_literals;
+
#ifdef ALLOW_DISABLE_VERITY
static const bool kAllowDisableVerity = true;
#else
@@ -95,32 +97,19 @@
LOG(FATAL) << "set-verity-state called with empty argv";
}
- std::optional<bool> enable_opt;
+ bool enable = false;
std::string procname = android::base::Basename(argv[0]);
if (procname == "enable-verity") {
- enable_opt = true;
+ enable = true;
} else if (procname == "disable-verity") {
- enable_opt = false;
+ enable = false;
+ } else if (argc == 2 && (argv[1] == "1"s || argv[1] == "0"s)) {
+ enable = (argv[1] == "1"s);
+ } else {
+ printf("usage: %s [1|0]\n", argv[0]);
+ return 1;
}
- if (!enable_opt.has_value()) {
- if (argc != 2) {
- printf("usage: %s [1|0]\n", argv[0]);
- return 1;
- }
-
- if (strcmp(argv[1], "1") == 0) {
- enable_opt = true;
- } else if (strcmp(argv[1], "0") == 0) {
- enable_opt = false;
- } else {
- printf("usage: %s [1|0]\n", argv[0]);
- return 1;
- }
- }
-
- bool enable = enable_opt.value();
-
// Figure out if we're using VB1.0 or VB2.0 (aka AVB) - by
// contract, androidboot.vbmeta.digest is set by the bootloader
// when using AVB).