./configure (optional if already run)
make
-based-on: 24079e988fc31af4eba56cd2701fdc5a4154980d
+based-on: a01e3b490eb36ccf9e704840e1b6683dab867550
diff --git a/generator.c b/generator.c
--- a/generator.c
+++ b/generator.c
extern int size_only;
extern OFF_T max_size;
extern OFF_T min_size;
-@@ -524,7 +525,7 @@ void itemize(const char *fnamecmp, struct file_struct *file, int ndx, int statre
+@@ -523,7 +524,7 @@ void itemize(const char *fnamecmp, struct file_struct *file, int ndx, int statre
/* Perform our quick-check heuristic for determining if a file is unchanged. */
int unchanged_file(char *fn, struct file_struct *file, STRUCT_STAT *st)
{
diff --git a/main.c b/main.c
--- a/main.c
+++ b/main.c
-@@ -149,7 +149,7 @@ pid_t wait_process(pid_t pid, int *status_ptr, int flags)
+@@ -153,7 +153,7 @@ pid_t wait_process(pid_t pid, int *status_ptr, int flags)
}
/* Wait for a process to exit, calling io_flush while waiting. */
{"remote-option", 'M', POPT_ARG_STRING, 0, 'M', 0, 0 },
{"protocol", 0, POPT_ARG_INT, &protocol_version, 0, 0, 0 },
{"checksum-seed", 0, POPT_ARG_INT, &checksum_seed, 0, 0, 0 },
-@@ -2186,6 +2195,16 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -2201,6 +2210,16 @@ int parse_arguments(int *argc_p, const char ***argv_p)
}
}
if (files_from) {
char *h, *p;
int q;
-@@ -2530,6 +2549,25 @@ void server_options(char **args, int *argc_p)
+@@ -2545,6 +2564,25 @@ void server_options(char **args, int *argc_p)
else if (missing_args == 1 && !am_sender)
args[ac++] = "--ignore-missing-args";
--protocol=NUM force an older protocol version to be used
--iconv=CONVERT_SPEC request charset conversion of filenames
--checksum-seed=NUM set block/file checksum seed (advanced)
-@@ -2321,6 +2324,33 @@ file previously generated by bf(--write-batch).
+@@ -2335,6 +2338,33 @@ file previously generated by bf(--write-batch).
If em(FILE) is bf(-), the batch data will be read from standard input.
See the "BATCH MODE" section for details.
extern int write_batch;
extern int file_old_total;
+extern char *source_filter;
+ extern BOOL we_send_keepalive_messages;
extern struct stats stats;
extern struct file_list *cur_flist, *first_flist, *dir_flist;
-
-@@ -177,6 +178,26 @@ void send_files(int f_in, int f_out)
+@@ -178,6 +179,26 @@ void send_files(int f_in, int f_out)
int f_xfer = write_batch < 0 ? batch_fd : f_out;
int save_io_error = io_error;
int ndx, j;
if (DEBUG_GTE(SEND, 1))
rprintf(FINFO, "send_files starting\n");
-@@ -310,6 +331,7 @@ void send_files(int f_in, int f_out)
+@@ -311,6 +332,7 @@ void send_files(int f_in, int f_out)
exit_cleanup(RERR_PROTOCOL);
}
fd = do_open(fname, O_RDONLY, 0);
if (fd == -1) {
if (errno == ENOENT) {
-@@ -331,6 +353,33 @@ void send_files(int f_in, int f_out)
+@@ -332,6 +354,33 @@ void send_files(int f_in, int f_out)
continue;
}
/* map the local file */
if (do_fstat(fd, &st) != 0) {
io_error |= IOERR_GENERAL;
-@@ -381,6 +430,8 @@ void send_files(int f_in, int f_out)
+@@ -382,6 +431,8 @@ void send_files(int f_in, int f_out)
}
}
close(fd);