From: Lennart Poettering Date: Thu, 19 Jun 2014 22:20:35 +0000 (+0200) Subject: copy: don't eat up error from chown()/chmod() X-Git-Tag: v215~280 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=2c455af4c765463c75df79acba34d2347c03cbff;p=elogind.git copy: don't eat up error from chown()/chmod() The idea was to not fail on, nor to ignore errors from chown()/chmod(), but to proceed and simply return the most recent error... --- diff --git a/src/shared/copy.c b/src/shared/copy.c index 867e49bf8..7c3fab690 100644 --- a/src/shared/copy.c +++ b/src/shared/copy.c @@ -179,6 +179,8 @@ static int fd_copy_directory(int df, const char *from, const struct stat *st, in if (fdt < 0) return -errno; + r = 0; + if (created) { if (fchown(fdt, st->st_uid, st->st_gid) < 0) r = -errno; @@ -187,7 +189,6 @@ static int fd_copy_directory(int df, const char *from, const struct stat *st, in r = -errno; } - r = 0; FOREACH_DIRENT(de, d, return -errno) { struct stat buf; int q;