diff options
author | Michael Runge <mrunge@google.com> | 2014-07-22 02:40:02 +0200 |
---|---|---|
committer | Michael Runge <mrunge@google.com> | 2014-07-22 02:40:02 +0200 |
commit | a91ecc59b2753a3dcc93b2619559a980074e77bd (patch) | |
tree | 0c44c214421c03f2e34ef529f05b419d20a693c8 /updater/install.c | |
parent | do sdcard sideloading through the fuse filesystem (diff) | |
download | android_bootable_recovery-a91ecc59b2753a3dcc93b2619559a980074e77bd.tar android_bootable_recovery-a91ecc59b2753a3dcc93b2619559a980074e77bd.tar.gz android_bootable_recovery-a91ecc59b2753a3dcc93b2619559a980074e77bd.tar.bz2 android_bootable_recovery-a91ecc59b2753a3dcc93b2619559a980074e77bd.tar.lz android_bootable_recovery-a91ecc59b2753a3dcc93b2619559a980074e77bd.tar.xz android_bootable_recovery-a91ecc59b2753a3dcc93b2619559a980074e77bd.tar.zst android_bootable_recovery-a91ecc59b2753a3dcc93b2619559a980074e77bd.zip |
Diffstat (limited to 'updater/install.c')
-rw-r--r-- | updater/install.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/updater/install.c b/updater/install.c index edc386dc6..5025881d2 100644 --- a/updater/install.c +++ b/updater/install.c @@ -357,8 +357,10 @@ Value* RenameFn(const char* name, State* state, int argc, Expr* argv[]) { name); goto done; } - - if (rename(src_name, dst_name) != 0) { + if (make_parents(dst_name) != 0) { + ErrorAbort(state, "Creating parent of %s() failed, error %s()", + dst_name, strerror(errno)); + } else if (rename(src_name, dst_name) != 0) { ErrorAbort(state, "Rename of %s() to %s() failed, error %s()", src_name, dst_name, strerror(errno)); } else { @@ -642,7 +644,7 @@ static int make_parents(char* name) { *p = '\0'; if (make_parents(name) < 0) return -1; int result = mkdir(name, 0700); - if (result == 0) printf("symlink(): created [%s]\n", name); + if (result == 0) printf("created [%s]\n", name); *p = '/'; if (result == 0 || errno == EEXIST) { // successfully created or already existed; we're done |