X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/332cf6df7c32dbaa47cbfe515121da7bd53974e8..9decb4d2ef51599425f12a68dbeba2b4f3a2d908:/receiver.c diff --git a/receiver.c b/receiver.c index 3fdd895c..4b9f60ec 100644 --- a/receiver.c +++ b/receiver.c @@ -6,7 +6,7 @@ * Copyright (C) 2003-2007 Wayne Davison * * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as + * it under the terms of the GNU General Public License version 3 as * published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, @@ -15,8 +15,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. + * with this program; if not, visit the http://fsf.org website. */ #include "rsync.h" @@ -321,9 +320,9 @@ static int get_next_gen_ndx(int fd, int next_gen_ndx, int desired_ndx) next_gen_ndx = read_int(fd); if (next_gen_ndx == -1) { if (inc_recurse) - next_gen_ndx = first_flist->prev->count + first_flist->prev->ndx_start; + next_gen_ndx = first_flist->prev->used + first_flist->prev->ndx_start; else - next_gen_ndx = cur_flist->count; + next_gen_ndx = cur_flist->used; } } return next_gen_ndx; @@ -357,10 +356,10 @@ int recv_files(int f_in, char *local_name) int ndx, recv_ok; if (verbose > 2) - rprintf(FINFO, "recv_files(%d) starting\n", cur_flist->count); + rprintf(FINFO, "recv_files(%d) starting\n", cur_flist->used); if (delay_updates) - delayed_bits = bitbag_create(cur_flist->count + 1); + delayed_bits = bitbag_create(cur_flist->used + 1); updating_basis = inplace; @@ -378,8 +377,8 @@ int recv_files(int f_in, char *local_name) } if (read_batch && cur_flist) { int high = inc_recurse - ? first_flist->prev->count + first_flist->prev->ndx_start - : cur_flist->count; + ? first_flist->prev->used + first_flist->prev->ndx_start + : cur_flist->used; get_next_gen_ndx(batch_gen_fd, next_gen_ndx, high); next_gen_ndx = -1; } @@ -470,6 +469,8 @@ int recv_files(int f_in, char *local_name) "(Skipping batched update for \"%s\")\n", fname); discard_receive_data(f_in, F_LENGTH(file)); + if (inc_recurse) + send_msg_int(MSG_NO_SEND, ndx); continue; } next_gen_ndx = -1; @@ -553,6 +554,8 @@ int recv_files(int f_in, char *local_name) full_fname(fnamecmp)); discard_receive_data(f_in, F_LENGTH(file)); close(fd1); + if (inc_recurse) + send_msg_int(MSG_NO_SEND, ndx); continue; } @@ -566,6 +569,8 @@ int recv_files(int f_in, char *local_name) full_fname(fnamecmp)); discard_receive_data(f_in, F_LENGTH(file)); close(fd1); + if (inc_recurse) + send_msg_int(MSG_NO_SEND, ndx); continue; } @@ -599,6 +604,8 @@ int recv_files(int f_in, char *local_name) discard_receive_data(f_in, F_LENGTH(file)); if (fd1 != -1) close(fd1); + if (inc_recurse) + send_msg_int(MSG_NO_SEND, ndx); continue; } } else { @@ -606,6 +613,8 @@ int recv_files(int f_in, char *local_name) discard_receive_data(f_in, F_LENGTH(file)); if (fd1 != -1) close(fd1); + if (inc_recurse) + send_msg_int(MSG_NO_SEND, ndx); continue; } @@ -632,6 +641,8 @@ int recv_files(int f_in, char *local_name) discard_receive_data(f_in, F_LENGTH(file)); if (fd1 != -1) close(fd1); + if (inc_recurse) + send_msg_int(MSG_NO_SEND, ndx); continue; }