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
Made clean_flist() only duplicate *_DIR_* flags on a dropped dir
[rsync/rsync.git]
/
sender.c
diff --git
a/sender.c
b/sender.c
index
b2ca39c
..
e9c48da
100644
(file)
--- a/
sender.c
+++ b/
sender.c
@@
-6,8
+6,9
@@
* Copyright (C) 2003-2007 Wayne Davison
*
* This program is free software; you can redistribute it and/or modify
* Copyright (C) 2003-2007 Wayne Davison
*
* This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@
-15,8
+16,7
@@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+ * with this program; if not, visit the http://fsf.org website.
*/
#include "rsync.h"
*/
#include "rsync.h"
@@
-44,7
+44,7
@@
extern int inplace;
extern int batch_fd;
extern int write_batch;
extern struct stats stats;
extern int batch_fd;
extern int write_batch;
extern struct stats stats;
-extern struct file_list *cur_flist, *first_flist;
+extern struct file_list *cur_flist, *first_flist
, *dir_flist
;
/**
* @file
/**
* @file
@@
-211,7
+211,10
@@
void send_files(int f_in, int f_out)
if (inc_recurse)
send_extra_file_list(f_out, FILECNT_LOOKAHEAD);
if (inc_recurse)
send_extra_file_list(f_out, FILECNT_LOOKAHEAD);
- file = cur_flist->files[ndx - cur_flist->ndx_start];
+ if (ndx - cur_flist->ndx_start >= 0)
+ file = cur_flist->files[ndx - cur_flist->ndx_start];
+ else
+ file = dir_flist->files[cur_flist->parent_ndx];
if (F_PATHNAME(file)) {
path = F_PATHNAME(file);
slash = "/";
if (F_PATHNAME(file)) {
path = F_PATHNAME(file);
slash = "/";