diff options
author | Ethan Yonker <dees_troy@teamw.in> | 2017-02-05 02:52:56 +0100 |
---|---|---|
committer | James Christopher Adduono <jc@adduono.com> | 2017-02-06 05:27:54 +0100 |
commit | 5128d299a5eab93348a5ef2ffff0e38d599289bc (patch) | |
tree | f68ea54fdd53d6bc43a99a2431cb1a5f5c6e54bc | |
parent | Fill uid/gid for screenshots at compile time (diff) | |
download | android_bootable_recovery-5128d299a5eab93348a5ef2ffff0e38d599289bc.tar android_bootable_recovery-5128d299a5eab93348a5ef2ffff0e38d599289bc.tar.gz android_bootable_recovery-5128d299a5eab93348a5ef2ffff0e38d599289bc.tar.bz2 android_bootable_recovery-5128d299a5eab93348a5ef2ffff0e38d599289bc.tar.lz android_bootable_recovery-5128d299a5eab93348a5ef2ffff0e38d599289bc.tar.xz android_bootable_recovery-5128d299a5eab93348a5ef2ffff0e38d599289bc.tar.zst android_bootable_recovery-5128d299a5eab93348a5ef2ffff0e38d599289bc.zip |
-rw-r--r-- | gui/action.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/gui/action.cpp b/gui/action.cpp index 9c8af35f4..3899f5047 100644 --- a/gui/action.cpp +++ b/gui/action.cpp @@ -1910,21 +1910,21 @@ int GUIAction::checkforapp(std::string arg __unused) } } if (PartitionManager.Mount_By_Path("/data", false)) { - string parent_path = "/data/app"; - DIR *d = opendir("/data/app"); - struct dirent *p; - size_t len = strlen("me.twrp.twrpapp-"); - while ((p = readdir(d))) { - if (!strcmp(p->d_name, ".") || !strcmp(p->d_name, "..")) - continue; - if (p->d_type == DT_DIR && strlen(p->d_name) >= len && strncmp(p->d_name, "me.twrp.twrpapp-", len) == 0) { - LOGINFO("App found at %s/%s\n", parent_path.c_str(), p->d_name); + const char parent_path[] = "/data/app"; + const char app_prefix[] = "me.twrp.twrpapp-"; + DIR *d = opendir(parent_path); + if (d) { + struct dirent *p; + while ((p = readdir(d))) { + if (p->d_type != DT_DIR || strlen(p->d_name) < strlen(app_prefix) || strncmp(p->d_name, app_prefix, strlen(app_prefix))) + continue; closedir(d); + LOGINFO("App found at '%s/%s'\n", parent_path, p->d_name); DataManager::SetValue("tw_app_install_status", 2); // 0 = no status, 1 = not installed, 2 = already installed goto exit; } + closedir(d); } - closedir(d); } } else simulate_progress_bar(); |