diff options
Diffstat (limited to 'native/jni/src/suggest/policyimpl/dictionary/utils/file_utils.cpp')
-rw-r--r-- | native/jni/src/suggest/policyimpl/dictionary/utils/file_utils.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/native/jni/src/suggest/policyimpl/dictionary/utils/file_utils.cpp b/native/jni/src/suggest/policyimpl/dictionary/utils/file_utils.cpp index dedcd7a99..34da76903 100644 --- a/native/jni/src/suggest/policyimpl/dictionary/utils/file_utils.cpp +++ b/native/jni/src/suggest/policyimpl/dictionary/utils/file_utils.cpp @@ -41,6 +41,15 @@ namespace latinime { return static_cast<int>(statBuf.st_size); } +/* static */ bool FileUtils::existsDir(const char *const dirPath) { + DIR *const dir = opendir(dirPath); + if (dir == NULL) { + return false; + } + closedir(dir); + return true; +} + // Remove a directory and all files in the directory. /* static */ bool FileUtils::removeDirAndFiles(const char *const dirPath) { DIR *const dir = opendir(dirPath); @@ -58,9 +67,11 @@ namespace latinime { getFilePath(dirPath, dirent->d_name, filePathBufSize, filePath); if (remove(filePath) != 0) { AKLOGE("Cannot remove file %s.", filePath); + closedir(dir); return false; } } + closedir(dir); if (remove(dirPath) != 0) { AKLOGE("Cannot remove directory %s.", dirPath); return false; |