diff options
Diffstat (limited to '')
-rw-r--r-- | bootloader_message/bootloader_message.cpp | 23 |
1 files changed, 5 insertions, 18 deletions
diff --git a/bootloader_message/bootloader_message.cpp b/bootloader_message/bootloader_message.cpp index b873d3dc3..d8086be28 100644 --- a/bootloader_message/bootloader_message.cpp +++ b/bootloader_message/bootloader_message.cpp @@ -29,27 +29,14 @@ #include <android-base/unique_fd.h> #include <fs_mgr.h> -static struct fstab* read_fstab(std::string* err) { - std::string ro_hardware = android::base::GetProperty("ro.hardware", ""); - if (ro_hardware.empty()) { - *err = "failed to get ro.hardware"; - return nullptr; - } - // The fstab path is always "/fstab.${ro.hardware}". - std::string fstab_path = "/fstab." + ro_hardware; - struct fstab* fstab = fs_mgr_read_fstab(fstab_path.c_str()); - if (fstab == nullptr) { - *err = "failed to read " + fstab_path; - } - return fstab; -} - static std::string get_misc_blk_device(std::string* err) { - struct fstab* fstab = read_fstab(err); - if (fstab == nullptr) { + std::unique_ptr<fstab, decltype(&fs_mgr_free_fstab)> fstab(fs_mgr_read_fstab_default(), + fs_mgr_free_fstab); + if (!fstab) { + *err = "failed to read default fstab"; return ""; } - fstab_rec* record = fs_mgr_get_entry_for_mount_point(fstab, "/misc"); + fstab_rec* record = fs_mgr_get_entry_for_mount_point(fstab.get(), "/misc"); if (record == nullptr) { *err = "failed to find /misc partition"; return ""; |