batch doesn't have.
- Tweaked the "skipping ..." message that is output for already-
applied batched updates.
extern char *tmpdir;
extern char *partial_dir;
extern char *basis_dir[];
extern char *tmpdir;
extern char *partial_dir;
extern char *basis_dir[];
+extern struct file_list *the_file_list;
extern struct filter_list_struct server_filter_list;
#define SLOT_SIZE (16*1024) /* Desired size in bytes */
extern struct filter_list_struct server_filter_list;
#define SLOT_SIZE (16*1024) /* Desired size in bytes */
+static int get_next_gen_i(int batch_gen_fd, int next_gen_i, int desired_i)
+{
+ while (next_gen_i < desired_i) {
+ if (next_gen_i >= 0) {
+ rprintf(FINFO,
+ "(No batched update for \"%s\")\n",
+ safe_fname(f_name(the_file_list->files[next_gen_i])));
+ }
+ next_gen_i = read_int(batch_gen_fd);
+ if (next_gen_i == -1)
+ next_gen_i = the_file_list->count;
+ }
+ return next_gen_i;
+}
+
/**
* main routine for receiver process.
/**
* main routine for receiver process.
i = read_int(f_in);
if (i == -1) {
if (read_batch) {
i = read_int(f_in);
if (i == -1) {
if (read_batch) {
- if (next_gen_i != flist->count)
- while (read_int(batch_gen_fd) != -1) {}
+ get_next_gen_i(batch_gen_fd, next_gen_i,
+ flist->count);
next_gen_i = -1;
}
if (++phase > max_phase)
next_gen_i = -1;
}
if (++phase > max_phase)
- while (i > next_gen_i) {
- next_gen_i = read_int(batch_gen_fd);
- if (next_gen_i == -1)
- next_gen_i = flist->count;
- }
+ next_gen_i = get_next_gen_i(batch_gen_fd, next_gen_i, i);
- rprintf(FINFO, "skipping update for \"%s\"\n",
+ rprintf(FINFO, "(Skipping batched update for \"%s\")\n",
safe_fname(fname));
discard_receive_data(f_in, file->length);
continue;
safe_fname(fname));
discard_receive_data(f_in, file->length);
continue;