* 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
+ * it under the terms of the GNU General Public License version 3 as
* published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* 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"
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 = flist->files[ndx - flist->ndx_start];
- if (!push_flist_dir(F_ROOTDIR(file), -1))
+ if (!push_pathname(F_PATHNAME(file), -1))
return;
f_name(file, fname);
if (inc_recurse)
send_extra_file_list(f_out, FILECNT_LOOKAHEAD);
- file = cur_flist->files[ndx - cur_flist->ndx_start];
- if (F_ROOTDIR(file)) {
- path = F_ROOTDIR(file);
+ 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 = "/";
} else {
path = slash = "";
}
- if (!push_flist_dir(F_ROOTDIR(file), -1))
+ if (!push_pathname(F_PATHNAME(file), -1))
continue;
f_name(file, fname);