char sum2[SUM_LENGTH];
uint32 s1, s2, sum;
int more;
-@@ -169,21 +180,21 @@ static void hash_search(int f,struct sum
+@@ -169,24 +180,21 @@ static void hash_search(int f,struct sum
int done_csum2 = 0;
int32 i;
- if (offset >= reset) {
- sum_pos = build_hash_table(s, sum_pos);
-- reset = sum_pos * s->blength;
+- if (sum_pos == s->count)
+- reset = len;
+- else
+- reset = sum_pos * s->blength;
- }
-
if (verbose > 4) {
hash_hits++;
do {
int32 l;
-@@ -351,6 +362,11 @@ void match_sums(int f, struct sum_struct
+@@ -354,6 +362,11 @@ void match_sums(int f, struct sum_struct
}
if (len > 0 && s->count > 0) {
}
static int exchange_protocols(int f_in, int f_out, char *buf, size_t bufsiz, int am_client)
-@@ -244,6 +257,32 @@ int start_inband_exchange(int f_in, int
+@@ -256,6 +269,32 @@ int start_inband_exchange(int f_in, int
if (verbose > 1)
print_child_argv("sending daemon args:", sargs);
+ }
+#endif
+
- p = strchr(path, '/');
- if (p) *p = '\0';
- io_printf(f_out, "%s\n", path);
-@@ -272,6 +311,10 @@ int start_inband_exchange(int f_in, int
+ io_printf(f_out, "%.*s\n", modlen, modname);
+
+ /* Old servers may just drop the connection here,
+@@ -281,6 +320,10 @@ int start_inband_exchange(int f_in, int
* server to terminate the listing of modules.
* We don't want to go on and transfer
* anything; just exit. */
exit(0);
}
-@@ -279,6 +322,10 @@ int start_inband_exchange(int f_in, int
+@@ -288,6 +331,10 @@ int start_inband_exchange(int f_in, int
rprintf(FERROR, "%s\n", line);
/* This is always fatal; the server will now
* close the socket. */
return -1;
}
-@@ -807,6 +854,9 @@ int start_daemon(int f_in, int f_out)
+@@ -818,6 +865,9 @@ int start_daemon(int f_in, int f_out)
if (exchange_protocols(f_in, f_out, line, sizeof line, 0) < 0)
return -1;
line[0] = 0;
if (!read_line_old(f_in, line, sizeof line))
return -1;
-@@ -818,6 +868,20 @@ int start_daemon(int f_in, int f_out)
+@@ -829,6 +879,20 @@ int start_daemon(int f_in, int f_out)
return -1;
}
default:
/* A large opt value means that set_refuse_options()
* turned this option off. */
-@@ -1536,6 +1599,17 @@ int parse_arguments(int *argc_p, const c
+@@ -1535,6 +1598,17 @@ int parse_arguments(int *argc_p, const c
if (delay_updates && !partial_dir)
partial_dir = tmp_partialdir;
if (inplace) {
#ifdef HAVE_FTRUNCATE
if (partial_dir) {
-@@ -2011,10 +2085,27 @@ char *check_for_hostspec(char *s, char *
+@@ -2007,10 +2081,27 @@ char *check_for_hostspec(char *s, char *
char *p;
int not_host;
int hostlen;
#define BACKUP_SUFFIX "~"
-@@ -500,6 +501,11 @@ enum msgcode {
+@@ -520,6 +521,11 @@ typedef unsigned int size_t;
# define SIZEOF_INT64 SIZEOF_OFF_T
#endif