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 10:42:15 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-12-11 10:42:16 +0000
commit549ae3d84effba95d2f37737bfa3ccb1d87094c7 (patch)
tree57c767bc15ac82038c7e6384e2980fe804e3030e /native/jni/src/suggest/policyimpl/dictionary/utils/file_utils.cpp
parent0719c4ca7283946c99b9291a7ba31c41fd3ff391 (diff)
parent84cc5a2c765831bb965c83bc996e6b906059e159 (diff)
downloadlatinime-549ae3d84effba95d2f37737bfa3ccb1d87094c7.tar.gz
latinime-549ae3d84effba95d2f37737bfa3ccb1d87094c7.tar.xz
latinime-549ae3d84effba95d2f37737bfa3ccb1d87094c7.zip
Merge "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