if (basename_len == 0+1) {
if (!pool)
unmake_file(file);
-@@ -2234,7 +2490,8 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
+@@ -2236,7 +2492,8 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
* file-list to check if this is a 1-file xfer. */
send_extra_file_list(f, 1);
}
return flist;
}
-@@ -2336,7 +2593,7 @@ struct file_list *recv_file_list(int f)
+@@ -2342,7 +2599,7 @@ struct file_list *recv_file_list(int f)
else if (f >= 0)
recv_id_list(f, flist);
if (protocol_version < 30) {
/* Recv the io_error flag */
-@@ -2556,7 +2813,7 @@ void flist_free(struct file_list *flist)
+@@ -2562,7 +2819,7 @@ void flist_free(struct file_list *flist)
/* This routine ensures we don't have any duplicate names in our file list.
* duplicate names can cause corruption because of the pipelining. */
{
char fbuf[MAXPATHLEN];
int i, prev_i;
-@@ -2607,7 +2864,7 @@ static void flist_sort_and_clean(struct file_list *flist, int strip_root)
+@@ -2613,7 +2870,7 @@ static void flist_sort_and_clean(struct file_list *flist, int strip_root)
/* If one is a dir and the other is not, we want to
* keep the dir because it might have contents in the
* list. Otherwise keep the first one. */
struct file_struct *fp = flist->sorted[j];
if (!S_ISDIR(fp->mode))
keep = i, drop = j;
-@@ -2623,8 +2880,8 @@ static void flist_sort_and_clean(struct file_list *flist, int strip_root)
+@@ -2629,8 +2886,8 @@ static void flist_sort_and_clean(struct file_list *flist, int strip_root)
} else
keep = j, drop = i;
rprintf(FINFO,
"removing duplicate name %s from file list (%d)\n",
f_name(file, fbuf), drop + flist->ndx_start);
-@@ -2646,7 +2903,7 @@ static void flist_sort_and_clean(struct file_list *flist, int strip_root)
+@@ -2652,7 +2909,7 @@ static void flist_sort_and_clean(struct file_list *flist, int strip_root)
}
flist->high = prev_i;
else
file_checksum(thisname, st.st_size, tmp_sum);
}
-@@ -1896,6 +2109,9 @@ static void send_directory(int f, struct file_list *flist, char *fbuf, int len,
+@@ -1898,6 +2111,9 @@ static void send_directory(int f, struct file_list *flist, char *fbuf, int len,
closedir(d);
if (f >= 0 && recurse && !divert_dirs) {
int i, end = flist->used - 1;
/* send_if_directory() bumps flist->used, so use "end". */
-@@ -2493,6 +2709,9 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
+@@ -2495,6 +2711,9 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
} else
flist_eof = 1;
if (basename_len == 0+1) {
if (!pool)
unmake_file(file);
-@@ -1934,6 +1937,9 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
+@@ -1936,6 +1939,9 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
| (eol_nulls || reading_remotely ? RL_EOL_NULLS : 0);
int implied_dot_dir = 0;
static void send_directory(int f, struct file_list *flist,
char *fbuf, int len, int flags);
-@@ -2338,6 +2380,25 @@ struct file_list *recv_file_list(int f)
+@@ -2344,6 +2386,25 @@ struct file_list *recv_file_list(int f)
flist_sort_and_clean(flist, relative_paths);
extern int ignore_errors;
extern int numeric_ids;
extern int recurse;
-@@ -2797,6 +2798,7 @@ int f_name_cmp(const struct file_struct *f1, const struct file_struct *f2)
+@@ -2803,6 +2804,7 @@ int f_name_cmp(const struct file_struct *f1, const struct file_struct *f2)
{
int dif;
const uchar *c1, *c2;
enum fnc_state state1, state2;
enum fnc_type type1, type2;
enum fnc_type t_path = protocol_version >= 29 ? t_PATH : t_ITEM;
-@@ -2907,7 +2909,15 @@ int f_name_cmp(const struct file_struct *f1, const struct file_struct *f2)
+@@ -2913,7 +2915,15 @@ int f_name_cmp(const struct file_struct *f1, const struct file_struct *f2)
if (type1 != type2)
return type1 == t_PATH ? 1 : -1;
}
extern struct stats stats;
extern char *filesfrom_host;
-@@ -1629,6 +1630,9 @@ static void send_directory(int f, struct file_list *flist, char *fbuf, int len,
+@@ -1631,6 +1632,9 @@ static void send_directory(int f, struct file_list *flist, char *fbuf, int len,
}
send_file_name(f, flist, fbuf, NULL, flags, filter_level);
gid = match_gid(gid, &gid_flags);
}
}
-@@ -2245,8 +2246,13 @@ struct file_list *recv_file_list(int f)
- int dstart, flags;
+@@ -2248,8 +2249,13 @@ struct file_list *recv_file_list(int f)
int64 start_read;
+ int save_verbose = verbose;
- if (!first_flist)
+ if (!first_flist) {