Matt McCutchen's Web Site
/
rsync
/
rsync.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge across rsync+ patch; add a little documentation to the manpage. More documenta...
[rsync/rsync.git]
/
flist.c
diff --git
a/flist.c
b/flist.c
index
27025df
..
edd6024
100644
(file)
--- a/
flist.c
+++ b/
flist.c
@@
-47,6
+47,9
@@
extern int remote_version;
extern int io_error;
extern int sanitize_paths;
extern int io_error;
extern int sanitize_paths;
+extern int read_batch;
+extern int write_batch;
+
static char topsrcname[MAXPATHLEN];
static struct exclude_struct **local_exclude_list;
static char topsrcname[MAXPATHLEN];
static struct exclude_struct **local_exclude_list;
@@
-149,7
+152,8
@@
int readlink_stat(const char *Path, STRUCT_STAT *Buffer, char *Linkbuf)
return -1;
}
if (S_ISLNK(Buffer->st_mode)) {
return -1;
}
if (S_ISLNK(Buffer->st_mode)) {
- if (readlink((char *) Path, Linkbuf, MAXPATHLEN-1) == -1) {
+ int l;
+ if ((l = readlink((char *) Path, Linkbuf, MAXPATHLEN-1))== -1) {
return -1;
}
Linkbuf[l] = 0;
return -1;
}
Linkbuf[l] = 0;
@@
-612,6
+616,9
@@
void send_file_name(int f,struct file_list *flist,char *fname,
out_of_memory("send_file_name");
}
out_of_memory("send_file_name");
}
+ if (write_batch) /* dw */
+ file->flags = FLAG_DELETE;
+
if (strcmp(file->basename,"")) {
flist->files[flist->count++] = file;
send_file_entry(file,f,base_flags);
if (strcmp(file->basename,"")) {
flist->files[flist->count++] = file;
send_file_entry(file,f,base_flags);
@@
-840,6
+847,8
@@
struct file_list *send_file_list(int f,int argc,char *argv[])
io_end_buffering(f);
stats.flist_size = stats.total_written - start_write;
stats.num_files = flist->count;
io_end_buffering(f);
stats.flist_size = stats.total_written - start_write;
stats.num_files = flist->count;
+ if (write_batch) /* dw */
+ write_batch_flist_info(flist->count, flist->files);
}
if (verbose > 2)
}
if (verbose > 2)
@@
-917,7
+926,7
@@
struct file_list *recv_file_list(int f)
}
/* if protocol version is >= 17 then recv the io_error flag */
}
/* if protocol version is >= 17 then recv the io_error flag */
- if (f != -1 && remote_version >= 17
) {
+ if (f != -1 && remote_version >= 17
&& !read_batch) { /* dw-added readbatch */
extern int module_id;
extern int ignore_errors;
if (lp_ignore_errors(module_id) || ignore_errors) {
extern int module_id;
extern int ignore_errors;
if (lp_ignore_errors(module_id) || ignore_errors) {