Implemented a "!" modifier for filter rules that lets a rule trigger
[rsync/rsync.git] / sender.c
index 10ea2fa..1cf4365 100644 (file)
--- a/sender.c
+++ b/sender.c
@@ -145,14 +145,19 @@ void send_files(struct file_list *flist, int f_out, int f_in)
                        updating_basis_file = inplace && !make_backups;
 
                file = flist->files[i];
+               if (S_ISDIR(file->mode)) {
+                       rprintf(FERROR, "[%s] got index of directory: %d\n",
+                               who_am_i(), i);
+                       exit_cleanup(RERR_PROTOCOL);
+               }
 
                stats.current_file_index = i;
                stats.num_transferred_files++;
                stats.total_transferred_size += file->length;
 
-               if (file->basedir) {
+               if (file->dir.root) {
                        /* N.B. We're sure that this fits, so offset is OK. */
-                       offset = strlcpy(fname, file->basedir, sizeof fname);
+                       offset = strlcpy(fname, file->dir.root, sizeof fname);
                        if (!offset || fname[offset-1] != '/')
                                fname[offset++] = '/';
                } else