X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/9fdb334e8518d80914aa33282d718d9ee6809b30..9f27cd8ca6ccbf1ab4cd8b0b66445535e2573d59:/util.c diff --git a/util.c b/util.c index 34df88e3..5129c35b 100644 --- a/util.c +++ b/util.c @@ -253,20 +253,20 @@ int copy_file(char *source, char *dest, mode_t mode) ifd = do_open(source, O_RDONLY, 0); if (ifd == -1) { rprintf(FERROR,"open %s: %s\n", - source,strerror(errno)); + full_fname(source), strerror(errno)); return -1; } if (robust_unlink(dest) && errno != ENOENT) { rprintf(FERROR,"unlink %s: %s\n", - dest,strerror(errno)); + full_fname(dest), strerror(errno)); return -1; } ofd = do_open(dest, O_WRONLY | O_CREAT | O_TRUNC | O_EXCL, mode); if (ofd == -1) { rprintf(FERROR,"open %s: %s\n", - dest,strerror(errno)); + full_fname(dest), strerror(errno)); close(ifd); return -1; } @@ -274,19 +274,27 @@ int copy_file(char *source, char *dest, mode_t mode) while ((len = safe_read(ifd, buf, sizeof buf)) > 0) { if (full_write(ofd, buf, len) < 0) { rprintf(FERROR,"write %s: %s\n", - dest,strerror(errno)); + full_fname(dest), strerror(errno)); close(ifd); close(ofd); return -1; } } - close(ifd); - close(ofd); + if (close(ifd) < 0) { + rprintf(FINFO, "close failed on %s: %s\n", + full_fname(source), strerror(errno)); + } + + if (close(ofd) < 0) { + rprintf(FERROR, "close failed on %s: %s\n", + full_fname(dest), strerror(errno)); + return -1; + } if (len < 0) { rprintf(FERROR,"read %s: %s\n", - source,strerror(errno)); + full_fname(source), strerror(errno)); return -1; } @@ -805,7 +813,6 @@ char *alloc_sanitize_path(const char *path, const char *rootdir) rlen--; buf[rlen] = '\0'; } - fprintf(stderr, "p:`%s'\n", buf); return buf; }