summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTianjie Xu <xunchang@google.com>2021-02-17 21:43:36 +0100
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2021-02-17 21:43:36 +0100
commitef49826256c2867ae1dfe8db59b15c4b008c0dd3 (patch)
treee9e23537eef7fcda22e3a69ab05a6d4d2a9534db
parentMerge "[LSC] Add LOCAL_LICENSE_KINDS to bootable/recovery" am: 1055a2f07a am: d9a0aa10ba (diff)
parentMerge "updater: Do not null terminate mount_flags_list array" am: be54337fab (diff)
downloadandroid_bootable_recovery-ef49826256c2867ae1dfe8db59b15c4b008c0dd3.tar
android_bootable_recovery-ef49826256c2867ae1dfe8db59b15c4b008c0dd3.tar.gz
android_bootable_recovery-ef49826256c2867ae1dfe8db59b15c4b008c0dd3.tar.bz2
android_bootable_recovery-ef49826256c2867ae1dfe8db59b15c4b008c0dd3.tar.lz
android_bootable_recovery-ef49826256c2867ae1dfe8db59b15c4b008c0dd3.tar.xz
android_bootable_recovery-ef49826256c2867ae1dfe8db59b15c4b008c0dd3.tar.zst
android_bootable_recovery-ef49826256c2867ae1dfe8db59b15c4b008c0dd3.zip
-rw-r--r--updater/updater_runtime.cpp40
1 files changed, 18 insertions, 22 deletions
diff --git a/updater/updater_runtime.cpp b/updater/updater_runtime.cpp
index e93830505..bac078cf9 100644
--- a/updater/updater_runtime.cpp
+++ b/updater/updater_runtime.cpp
@@ -44,29 +44,25 @@ std::string UpdaterRuntime::FindBlockDeviceName(const std::string_view name) con
return std::string(name);
}
-static struct {
- const char* name;
- unsigned flag;
-} mount_flags_list[] = {
- { "noatime", MS_NOATIME },
- { "noexec", MS_NOEXEC },
- { "nosuid", MS_NOSUID },
- { "nodev", MS_NODEV },
- { "nodiratime", MS_NODIRATIME },
- { "ro", MS_RDONLY },
- { "rw", 0 },
- { "remount", MS_REMOUNT },
- { "bind", MS_BIND },
- { "rec", MS_REC },
- { "unbindable", MS_UNBINDABLE },
- { "private", MS_PRIVATE },
- { "slave", MS_SLAVE },
- { "shared", MS_SHARED },
- { "defaults", 0 },
- { 0, 0 },
-};
-
static bool setMountFlag(const std::string& flag, unsigned* mount_flags) {
+ static constexpr std::pair<const char*, unsigned> mount_flags_list[] = {
+ { "noatime", MS_NOATIME },
+ { "noexec", MS_NOEXEC },
+ { "nosuid", MS_NOSUID },
+ { "nodev", MS_NODEV },
+ { "nodiratime", MS_NODIRATIME },
+ { "ro", MS_RDONLY },
+ { "rw", 0 },
+ { "remount", MS_REMOUNT },
+ { "bind", MS_BIND },
+ { "rec", MS_REC },
+ { "unbindable", MS_UNBINDABLE },
+ { "private", MS_PRIVATE },
+ { "slave", MS_SLAVE },
+ { "shared", MS_SHARED },
+ { "defaults", 0 },
+ };
+
for (const auto& [name, value] : mount_flags_list) {
if (flag == name) {
*mount_flags |= value;