X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/e366e5303fa25e3d007691109293901ad7a7b6f6..fc4a695cddfc1b7705f1e1e3ea13108777b3a76a:/receiver.c diff --git a/receiver.c b/receiver.c index 91642478..0135e426 100644 --- a/receiver.c +++ b/receiver.c @@ -3,7 +3,7 @@ * * Copyright (C) 1996-2000 Andrew Tridgell * Copyright (C) 1996 Paul Mackerras - * Copyright (C) 2003-2008 Wayne Davison + * Copyright (C) 2003-2009 Wayne Davison * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -285,8 +285,11 @@ static int receive_data(int f_in, char *fname_r, int fd_r, OFF_T size_r, goto report_write_error; #ifdef HAVE_FTRUNCATE - if (inplace && fd != -1) - ftruncate(fd, offset); + if (inplace && fd != -1 + && ftruncate(fd, offset) < 0) { + rsyserr(FERROR_XFER, errno, "ftruncate failed on %s", + full_fname(fname)); + } #endif if (INFO_GTE(PROGRESS, 1)) @@ -328,7 +331,7 @@ static void handle_delayed_updates(char *local_name) struct file_struct *file = cur_flist->files[ndx]; fname = local_name ? local_name : f_name(file, NULL); if ((partialptr = partial_dir_fname(fname)) != NULL) { - if (make_backups > 0 && !make_backup(fname)) + if (make_backups > 0 && !make_backup(fname, False)) continue; if (DEBUG_GTE(RECV, 1)) { rprintf(FINFO, "renaming %s to %s\n",