Added some defines for the various exclude-function arg literals.
[rsync/rsync.git] / main.c
diff --git a/main.c b/main.c
index e9670ef..79929d6 100644 (file)
--- a/main.c
+++ b/main.c
@@ -85,10 +85,9 @@ static void report(int f)
        extern int remote_version;
        int send_stats;
 
-       if (do_stats) {
+       if (do_stats && verbose > 1) {
                /* These come out from every process */
-               if (verbose > 1)
-                       show_malloc_stats();
+               show_malloc_stats();
                show_flist_stats();
        }
 
@@ -286,6 +285,7 @@ oom:
 static char *get_local_name(struct file_list *flist,char *name)
 {
        STRUCT_STAT st;
+       int e;
        extern int orig_umask;
 
        if (verbose > 2)
@@ -311,7 +311,7 @@ static char *get_local_name(struct file_list *flist,char *name)
                return name;
        }
 
-       if (flist->count <= 1)
+       if (flist->count <= 1 && ((e = strlen(name)) <= 1 || name[e-1] != '/'))
                return name;
 
        if (do_mkdir(name,0777 & ~orig_umask) != 0) {