build fixes and arm support.

Change-Id: I96fa6366c8bb1406d89f944f0fd1733bde565126
This commit is contained in:
Koushik Dutta 2011-07-11 14:13:43 -07:00
parent de7025e43c
commit e8bdefda33
2 changed files with 24 additions and 8 deletions

View File

@ -8,3 +8,16 @@ LOCAL_MODULE_TAGS := eng
LOCAL_MODULE := dedupe
LOCAL_STATIC_LIBRARIES := libcrypto_static
include $(BUILD_HOST_EXECUTABLE)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := dedupe.c
LOCAL_STATIC_LIBRARIES := libcrypto libcutils libc
LOCAL_MODULE := utility_dedupe
LOCAL_MODULE_TAGS := eng
LOCAL_MODULE_STEM := dedupe
LOCAL_MODULE_CLASS := UTILITY_EXECUTABLES
LOCAL_C_INCLUDES := external/openssl/include
LOCAL_UNSTRIPPED_PATH := $(PRODUCT_OUT)/symbols/utilities
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/utilities
LOCAL_FORCE_STATIC_EXECUTABLE := true
include $(BUILD_EXECUTABLE)

View File

@ -135,7 +135,7 @@ static int store_dir(struct DEDUPE_STORE_CONTEXT *context, struct stat st, const
return ret;
}
if (ret = store_st(context->blob_dir, cst, full_path))
if (ret = store_st(context, cst, full_path))
return ret;
}
closedir(dp);
@ -150,6 +150,7 @@ static int store_link(struct DEDUPE_STORE_CONTEXT *context, struct stat st, cons
fprintf(stderr, "Error reading symlink\n");
return errno;
}
link[ret] = '\0';
fprintf(context->output_manifest, "%s\t\n", link);
return 0;
}
@ -184,7 +185,7 @@ void get_full_path(char *out_path, char *rel_path) {
static char* tokenize(char *out, const char* line, const char sep) {
while (*line != sep) {
if (*line == NULL) {
if (*line == '\0') {
return NULL;
}
@ -193,9 +194,9 @@ static char* tokenize(char *out, const char* line, const char sep) {
line++;
}
*out = NULL;
*out = '\0';
// resume at the next char
return line + 1;
return ++line;
}
static int dec_to_oct(int dec) {
@ -227,7 +228,7 @@ int main(int argc, char** argv) {
if (!S_ISDIR(st.st_mode)) {
fprintf(stderr, "%s must be a directory.\n", argv[2]);
return;
return 1;
}
char blob_dir[PATH_MAX];
@ -274,6 +275,8 @@ int main(int argc, char** argv) {
token = tokenize(filename, token, '\t');
int mode_oct = dec_to_oct(atoi(mode));
int uid_int = atoi(uid);
int gid_int = atoi(gid);
int ret;
printf("%s\t%s\t%s\t%s\t%s\t", type, mode, uid, gid, filename);
if (strcmp(type, "f") == 0) {
@ -289,7 +292,7 @@ int main(int argc, char** argv) {
}
chmod(filename, mode_oct);
chown(filename, uid, gid);
chown(filename, uid_int, gid_int);
}
else if (strcmp(type, "l") == 0) {
char link[41];
@ -299,7 +302,7 @@ int main(int argc, char** argv) {
symlink(link, filename);
chmod(filename, mode_oct);
lchown(filename, uid, gid);
lchown(filename, uid_int, gid_int);
}
else if (strcmp(type, "d") == 0) {
printf("\n");
@ -307,7 +310,7 @@ int main(int argc, char** argv) {
mkdir(filename, mode_oct);
chmod(filename, mode_oct);
chown(filename, uid, gid);
chown(filename, uid_int, gid_int);
}
}