added blocking-io docs
[rsync/rsync.git] / flist.c
diff --git a/flist.c b/flist.c
index 2dcbe75..f12bf89 100644 (file)
--- a/flist.c
+++ b/flist.c
@@ -436,7 +436,7 @@ struct file_struct *make_file(int f, char *fname)
 
        if (readlink_stat(fname,&st,linkbuf) != 0) {
                io_error = 1;
-               rprintf(FERROR,"%s: %s\n",
+               rprintf(FERROR,"readlink %s: %s\n",
                        fname,strerror(errno));
                return NULL;
        }
@@ -673,8 +673,10 @@ struct file_list *send_file_list(int f,int argc,char *argv[])
                }
 
                if (link_stat(fname,&st) != 0) {
-                       io_error=1;
-                       rprintf(FERROR,"%s : %s\n",fname,strerror(errno));
+                       if (f != -1) {
+                               io_error=1;
+                               rprintf(FERROR,"link_stat %s : %s\n",fname,strerror(errno));
+                       }
                        continue;
                }
 
@@ -860,7 +862,8 @@ struct file_list *recv_file_list(int f)
   /* if protocol version is >= 17 then recv the io_error flag */
   if (f != -1 && remote_version >= 17) {
          extern int module_id;
-         if (lp_ignore_errors(module_id)) {
+         extern int ignore_errors;
+         if (lp_ignore_errors(module_id) || ignore_errors) {
                  read_int(f);
          } else {
                  io_error |= read_int(f);