diff options
author | Tianjie Xu <xunchang@google.com> | 2021-02-17 20:37:52 +0100 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2021-02-17 20:37:52 +0100 |
commit | be54337faba013a4e8fa42218c58a65436a37c8d (patch) | |
tree | 69fc35b5055809ab02209c735ee063ef15bc3a71 | |
parent | Merge "[LSC] Add LOCAL_LICENSE_KINDS to bootable/recovery" (diff) | |
parent | updater: Do not null terminate mount_flags_list array (diff) | |
download | android_bootable_recovery-be54337faba013a4e8fa42218c58a65436a37c8d.tar android_bootable_recovery-be54337faba013a4e8fa42218c58a65436a37c8d.tar.gz android_bootable_recovery-be54337faba013a4e8fa42218c58a65436a37c8d.tar.bz2 android_bootable_recovery-be54337faba013a4e8fa42218c58a65436a37c8d.tar.lz android_bootable_recovery-be54337faba013a4e8fa42218c58a65436a37c8d.tar.xz android_bootable_recovery-be54337faba013a4e8fa42218c58a65436a37c8d.tar.zst android_bootable_recovery-be54337faba013a4e8fa42218c58a65436a37c8d.zip |
Diffstat (limited to '')
-rw-r--r-- | updater/updater_runtime.cpp | 40 |
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; |