Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2b5f84a1 authored by Android (Google) Code Review's avatar Android (Google) Code Review
Browse files

Merge change 3207 into donut

* changes:
  localize: remove dependency on mkdirs/etc in libhost
parents 2a318867 24bd82a9
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -53,4 +53,3 @@ ifeq (a,a)
endif

include $(BUILD_HOST_EXECUTABLE)
+35 −1
Original line number Diff line number Diff line
@@ -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)
{