aboutsummaryrefslogtreecommitdiffstats
path: root/native/jni/src/suggest/policyimpl/dictionary/utils/file_utils.cpp
diff options
context:
space:
mode:
authorKeisuke Kuroyanagi <ksk@google.com>2013-12-11 02:43:45 -0800
committerAndroid Git Automerger <android-git-automerger@android.com>2013-12-11 02:43:45 -0800
commitff6359e111c621a35f4273590e6319ea84ff9356 (patch)
tree57c767bc15ac82038c7e6384e2980fe804e3030e /native/jni/src/suggest/policyimpl/dictionary/utils/file_utils.cpp
parent176dd05934bc98d8a214e4607c00ea8cd2d4f71a (diff)
parent549ae3d84effba95d2f37737bfa3ccb1d87094c7 (diff)
downloadlatinime-ff6359e111c621a35f4273590e6319ea84ff9356.tar.gz
latinime-ff6359e111c621a35f4273590e6319ea84ff9356.tar.xz
latinime-ff6359e111c621a35f4273590e6319ea84ff9356.zip
am 549ae3d8: Merge "Create ver4 dictionary files with the dictionary name."
* commit '549ae3d84effba95d2f37737bfa3ccb1d87094c7': Create ver4 dictionary files with the dictionary name.
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.cpp16
1 files changed, 16 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 34da76903..49ae7f156 100644
--- a/native/jni/src/suggest/policyimpl/dictionary/utils/file_utils.cpp
+++ b/native/jni/src/suggest/policyimpl/dictionary/utils/file_utils.cpp
@@ -20,6 +20,7 @@
#include <cstring>
#include <dirent.h>
#include <fcntl.h>
+#include <libgen.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
@@ -138,4 +139,19 @@ namespace latinime {
}
}
+/* static */ void FileUtils::getBasename(const char *const filePath,
+ const int outNameBufSize, char *const outName) {
+ const int filePathBufSize = strlen(filePath) + 1 /* terminator */;
+ char filePathBuf[filePathBufSize];
+ snprintf(filePathBuf, filePathBufSize, "%s", filePath);
+ const char *const baseName = basename(filePathBuf);
+ const int baseNameLength = strlen(baseName);
+ if (baseNameLength >= outNameBufSize) {
+ AKLOGE("outNameBufSize is too small. dirPath: %s, outNameBufSize: %d",
+ filePath, outNameBufSize);
+ return;
+ }
+ snprintf(outName, baseNameLength + 1 /* terminator */, "%s", baseName);
+}
+
} // namespace latinime