summaryrefslogtreecommitdiffstats
path: root/tools/localize
diff options
context:
space:
mode:
authorBrian Swetland <swetland@google.com>2009-06-04 14:04:53 -0700
committerBrian Swetland <swetland@google.com>2009-06-04 14:05:36 -0700
commit24bd82a92fe13040e9d7e2ca1942043ed5931754 (patch)
treeba61e821cc460d3fcbd86f1c540d0d625395f2e0 /tools/localize
parent7835b0b742a36641a4005663134dc0b5d0678eab (diff)
downloadframeworks_base-24bd82a92fe13040e9d7e2ca1942043ed5931754.zip
frameworks_base-24bd82a92fe13040e9d7e2ca1942043ed5931754.tar.gz
frameworks_base-24bd82a92fe13040e9d7e2ca1942043ed5931754.tar.bz2
localize: remove dependency on mkdirs/etc in libhost
This will let us break the libhost dependency on libutils. Signed-off-by: Brian Swetland <swetland@google.com>
Diffstat (limited to 'tools/localize')
-rw-r--r--tools/localize/Android.mk1
-rw-r--r--tools/localize/file_utils.cpp36
2 files changed, 35 insertions, 2 deletions
diff --git a/tools/localize/Android.mk b/tools/localize/Android.mk
index 186177f..ab79f8d 100644
--- a/tools/localize/Android.mk
+++ b/tools/localize/Android.mk
@@ -53,4 +53,3 @@ ifeq (a,a)
endif
include $(BUILD_HOST_EXECUTABLE)
-
diff --git a/tools/localize/file_utils.cpp b/tools/localize/file_utils.cpp
index bb82a9c..8792b9e 100644
--- a/tools/localize/file_utils.cpp
+++ b/tools/localize/file_utils.cpp
@@ -3,12 +3,46 @@
#include <unistd.h>
#include "file_utils.h"
#include "Perforce.h"
+#include <utils/String8.h>
#include <sys/fcntl.h>
#include <sys/stat.h>
#include <errno.h>
-#include <host/Directories.h>
#include "log.h"
+using namespace android;
+using namespace std;
+
+static string
+parent_dir(const string& path)
+{
+ return string(String8(path.c_str()).getPathDir().string());
+}
+
+static int
+mkdirs(const char* last)
+{
+ String8 dest;
+ const char* s = last-1;
+ int err;
+ do {
+ s++;
+ if (s > last && (*s == '.' || *s == 0)) {
+ String8 part(last, s-last);
+ dest.appendPath(part);
+#ifdef HAVE_MS_C_RUNTIME
+ err = _mkdir(dest.string());
+#else
+ err = mkdir(dest.string(), S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IXGRP);
+#endif
+ if (err != 0) {
+ return err;
+ }
+ last = s+1;
+ }
+ } while (*s);
+ return 0;
+}
+
string
translated_file_name(const string& file, const string& locale)
{