From 89e540e638b29473118535cf9c93da2fc82a43db Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Thu, 29 Jul 2004 06:59:30 +0000 Subject: [PATCH] One more inplace code tweak. --- receiver.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/receiver.c b/receiver.c index 059f7628..eaa2161f 100644 --- a/receiver.c +++ b/receiver.c @@ -214,7 +214,7 @@ static int receive_data(int f_in, char *fname_r, int fd_r, OFF_T size_r, struct sum_struct sum; unsigned int len; OFF_T offset = 0; - OFF_T offset2, seekto = 0; + OFF_T offset2; char *data; int i; char *map = NULL; @@ -276,19 +276,16 @@ static int receive_data(int f_in, char *fname_r, int fd_r, OFF_T size_r, } if (inplace) { - if (offset == offset2) { - seekto = offset += len; - continue; - } - if (seekto && fd != -1) { + if (offset == offset2 && fd != -1) { flush_write_file(fd); - if (do_lseek(fd, seekto, SEEK_SET) != seekto) { + offset += len; + if (do_lseek(fd, len, SEEK_CUR) != offset) { rsyserr(FERROR, errno, "lseek failed on %s", full_fname(fname)); exit_cleanup(RERR_FILEIO); } - seekto = 0; + continue; } } if (fd != -1 && write_file(fd, map, len) != (int)len) { -- 2.34.1