Loading cmds/installd/commands.c +12 −3 Original line number Diff line number Diff line Loading @@ -402,6 +402,7 @@ int create_cache_path(char path[PKG_PATH_MAX], const char *src) char *tmp; int srclen; int dstlen; char dexopt_data_only[PROPERTY_VALUE_MAX]; srclen = strlen(src); Loading @@ -414,7 +415,15 @@ int create_cache_path(char path[PKG_PATH_MAX], const char *src) return -1; } dstlen = srclen + strlen(DALVIK_CACHE_PREFIX) + const char *cache_path = DALVIK_CACHE_PREFIX; if (!strncmp(src, "/system", 7)) { property_get("dalvik.vm.dexopt-data-only", dexopt_data_only, ""); if (strcmp(dexopt_data_only, "1") != 0) { cache_path = DALVIK_SYSTEM_CACHE_PREFIX; } } dstlen = srclen + strlen(cache_path) + strlen(DALVIK_CACHE_POSTFIX) + 1; if (dstlen > PKG_PATH_MAX) { Loading @@ -422,11 +431,11 @@ int create_cache_path(char path[PKG_PATH_MAX], const char *src) } sprintf(path,"%s%s%s", DALVIK_CACHE_PREFIX, cache_path, src + 1, /* skip the leading / */ DALVIK_CACHE_POSTFIX); for(tmp = path + strlen(DALVIK_CACHE_PREFIX); *tmp; tmp++) { for(tmp = path + strlen(cache_path); *tmp; tmp++) { if (*tmp == '/') { *tmp = '@'; } Loading cmds/installd/installd.h +1 −0 Original line number Diff line number Diff line Loading @@ -66,6 +66,7 @@ #define PRIVATE_APP_SUBDIR "app-private/" // sub-directory under ANDROID_DATA #define DALVIK_CACHE_PREFIX "/data/dalvik-cache/" #define DALVIK_SYSTEM_CACHE_PREFIX "/cache/dalvik-cache/" #define DALVIK_CACHE_POSTFIX "/classes.dex" #define UPDATE_COMMANDS_DIR_PREFIX "/system/etc/updatecmds/" Loading Loading
cmds/installd/commands.c +12 −3 Original line number Diff line number Diff line Loading @@ -402,6 +402,7 @@ int create_cache_path(char path[PKG_PATH_MAX], const char *src) char *tmp; int srclen; int dstlen; char dexopt_data_only[PROPERTY_VALUE_MAX]; srclen = strlen(src); Loading @@ -414,7 +415,15 @@ int create_cache_path(char path[PKG_PATH_MAX], const char *src) return -1; } dstlen = srclen + strlen(DALVIK_CACHE_PREFIX) + const char *cache_path = DALVIK_CACHE_PREFIX; if (!strncmp(src, "/system", 7)) { property_get("dalvik.vm.dexopt-data-only", dexopt_data_only, ""); if (strcmp(dexopt_data_only, "1") != 0) { cache_path = DALVIK_SYSTEM_CACHE_PREFIX; } } dstlen = srclen + strlen(cache_path) + strlen(DALVIK_CACHE_POSTFIX) + 1; if (dstlen > PKG_PATH_MAX) { Loading @@ -422,11 +431,11 @@ int create_cache_path(char path[PKG_PATH_MAX], const char *src) } sprintf(path,"%s%s%s", DALVIK_CACHE_PREFIX, cache_path, src + 1, /* skip the leading / */ DALVIK_CACHE_POSTFIX); for(tmp = path + strlen(DALVIK_CACHE_PREFIX); *tmp; tmp++) { for(tmp = path + strlen(cache_path); *tmp; tmp++) { if (*tmp == '/') { *tmp = '@'; } Loading
cmds/installd/installd.h +1 −0 Original line number Diff line number Diff line Loading @@ -66,6 +66,7 @@ #define PRIVATE_APP_SUBDIR "app-private/" // sub-directory under ANDROID_DATA #define DALVIK_CACHE_PREFIX "/data/dalvik-cache/" #define DALVIK_SYSTEM_CACHE_PREFIX "/cache/dalvik-cache/" #define DALVIK_CACHE_POSTFIX "/classes.dex" #define UPDATE_COMMANDS_DIR_PREFIX "/system/etc/updatecmds/" Loading