X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/ce72de30ce4d850bdd0985cbcd5d686470745934..ec8637f3679b891041c798400774141024e24a4e:/generator.c diff --git a/generator.c b/generator.c index 38041186..35cbb572 100644 --- a/generator.c +++ b/generator.c @@ -196,7 +196,7 @@ static enum delret delete_item(char *fbuf, int mode, char *replace, int flags) check_ret: if (replace && ret != DR_SUCCESS) { - rprintf(FERROR, "could not make way for new %s: %s\n", + rprintf(FERROR_XFER, "could not make way for new %s: %s\n", replace, fbuf); } return ret; @@ -841,7 +841,7 @@ static int copy_altdest_file(const char *src, const char *dest, struct file_stru { char buf[MAXPATHLEN]; const char *copy_to, *partialptr; - int fd_w; + int ok, fd_w; if (inplace) { /* Let copy_file open the destination in place. */ @@ -865,11 +865,9 @@ static int copy_altdest_file(const char *src, const char *dest, struct file_stru return -1; } partialptr = partial_dir ? partial_dir_fname(dest) : NULL; - if (partialptr && *partialptr == '/') - partialptr = NULL; - finish_transfer(dest, copy_to, src, partialptr, file, 1, 0); + ok = finish_transfer(dest, copy_to, src, partialptr, file, 1, 0); cleanup_disable(); - return 0; + return ok ? 0 : -1; } /* This is only called for regular files. We return -2 if we've finished @@ -1082,7 +1080,7 @@ static int try_dests_non(struct file_struct *file, char *fname, int ndx, #endif && !S_ISDIR(file->mode)) { if (do_link(cmpbuf, fname) < 0) { - rsyserr(FERROR, errno, + rsyserr(FERROR_XFER, errno, "failed to hard-link %s with %s", cmpbuf, fname); return j; @@ -1239,7 +1237,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, if (relative_paths && !implied_dirs && do_stat(dn, &sx.st) < 0 && create_directory_path(fname) < 0) { - rsyserr(FERROR, errno, + rsyserr(FERROR_XFER, errno, "recv_generator: mkdir %s failed", full_fname(dn)); } @@ -1342,7 +1340,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, if (!relative_paths || errno != ENOENT || create_directory_path(fname) < 0 || (do_mkdir(fname, file->mode) < 0 && errno != EEXIST)) { - rsyserr(FERROR, errno, + rsyserr(FERROR_XFER, errno, "recv_generator: mkdir %s failed", full_fname(fname)); skipping_dir_contents: @@ -1365,7 +1363,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, if (!am_root && !(file->mode & S_IWUSR) && dir_tweaking) { mode_t mode = file->mode | S_IWUSR; if (do_chmod(fname, mode) < 0) { - rsyserr(FERROR, errno, + rsyserr(FERROR_XFER, errno, "failed to modify permissions on %s", full_fname(fname)); } @@ -1462,7 +1460,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, } #endif if (do_symlink(sl, fname) != 0) { - rsyserr(FERROR, errno, "symlink %s -> \"%s\" failed", + rsyserr(FERROR_XFER, errno, "symlink %s -> \"%s\" failed", full_fname(fname), sl); } else { set_file_attrs(fname, file, NULL, NULL, 0); @@ -1546,7 +1544,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, (long)major(rdev), (long)minor(rdev)); } if (do_mknod(fname, file->mode, rdev) < 0) { - rsyserr(FERROR, errno, "mknod %s failed", + rsyserr(FERROR_XFER, errno, "mknod %s failed", full_fname(fname)); } else { set_file_attrs(fname, file, NULL, NULL, 0); @@ -1664,7 +1662,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, #endif if (stat_errno == ENOENT) goto notify_others; - rsyserr(FERROR, stat_errno, "recv_generator: failed to stat %s", + rsyserr(FERROR_XFER, stat_errno, "recv_generator: failed to stat %s", full_fname(fname)); goto cleanup; } @@ -1754,7 +1752,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, goto pretend_missing; } if (robust_unlink(backupptr) && errno != ENOENT) { - rsyserr(FERROR, errno, "unlink %s", + rsyserr(FERROR_XFER, errno, "unlink %s", full_fname(backupptr)); unmake_file(back_file); back_file = NULL; @@ -1764,7 +1762,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, if ((f_copy = do_open(backupptr, O_WRONLY | O_CREAT | O_TRUNC | O_EXCL, 0600)) < 0 && (errno != ENOENT || make_bak_dir(backupptr) < 0 || (f_copy = do_open(backupptr, O_WRONLY | O_CREAT | O_TRUNC | O_EXCL, 0600)) < 0)) { - rsyserr(FERROR, errno, "open %s", + rsyserr(FERROR_XFER, errno, "open %s", full_fname(backupptr)); unmake_file(back_file); back_file = NULL;