Improved error messages.
[rsync/rsync.git] / flist.c
diff --git a/flist.c b/flist.c
index edd6024..13d5048 100644 (file)
--- a/flist.c
+++ b/flist.c
@@ -490,6 +490,11 @@ struct file_struct *make_file(int f, char *fname, struct string_area **ap,
        }
        fname = cleaned_name;
 
+       /* f is set to -1 when calculating deletion file list */
+       if (((f != -1) || !delete_excluded) && !noexcludes && !match_file_name(fname,&st))
+               return NULL;
+
+
        memset(sum,0,SUM_LENGTH);
 
        if (readlink_stat(fname,&st,linkbuf) != 0) {
@@ -512,10 +517,6 @@ struct file_struct *make_file(int f, char *fname, struct string_area **ap,
                        return NULL;
        }
        
-       /* f is set to -1 when calculating deletion file list */
-       if (((f != -1) || !delete_excluded) && !match_file_name(fname,&st))
-               return NULL;
-
 
        if (lp_ignore_nonreadable(module_id) && access(fname, R_OK) != 0) 
                return NULL;
@@ -1104,10 +1105,10 @@ static void clean_flist(struct file_list *flist, int strip_root)
 
        for (i=0;i<flist->count;i++) {
                rprintf(FINFO,"[%d] i=%d %s %s mode=0%o len=%.0f\n",
-                       getpid(), i, 
+                       (int) getpid(), i, 
                        NS(flist->files[i]->dirname),
                        NS(flist->files[i]->basename),
-                       flist->files[i]->mode,
+                       (int) flist->files[i]->mode,
                        (double)flist->files[i]->length);
        }
 }