Applied preallocate patch to the trunk.
[rsync-patches.git] / backup-dir-dels.diff
index b438e60a17d3cdad88587e71544b824020a8a6b5..fa68ad586cd6179a6f8bdab97464b27b50d8dabf 100644 (file)
@@ -19,7 +19,7 @@ To use this patch, run these commands for a successful build:
     ./configure                                 (optional if already run)
     make
 
-based-on: d64bda1c1e79dc385f194d74f7957ce7cd118654
+based-on: 3bd9f51917ed5718275c6132006be155239a0550
 diff --git a/backup.c b/backup.c
 --- a/backup.c
 +++ b/backup.c
@@ -157,17 +157,16 @@ diff --git a/backup.c b/backup.c
 diff --git a/delete.c b/delete.c
 --- a/delete.c
 +++ b/delete.c
-@@ -28,6 +28,9 @@ extern int max_delete;
+@@ -28,16 +28,23 @@ extern int max_delete;
  extern char *backup_dir;
  extern char *backup_suffix;
  extern int backup_suffix_len;
 +extern char *backup_dir_dels;
 +extern char *backup_suffix_dels;
 +extern int backup_suffix_dels_len;
- extern uid_t our_uid;
  extern struct stats stats;
  
-@@ -35,10 +38,14 @@ int ignore_perishable = 0;
+ int ignore_perishable = 0;
  int non_perishable_cnt = 0;
  int skipped_deletes = 0;
  
@@ -183,7 +182,7 @@ diff --git a/delete.c b/delete.c
  }
  
  /* The directory is about to be deleted: if DEL_RECURSE is given, delete all
-@@ -170,9 +177,9 @@ enum delret delete_item(char *fbuf, uint16 mode, uint16 flags)
+@@ -162,9 +169,9 @@ enum delret delete_item(char *fbuf, uint16 mode, uint16 flags)
                what = "rmdir";
                ok = do_rmdir(fbuf) == 0;
        } else {
@@ -285,9 +284,9 @@ diff --git a/options.c b/options.c
 +              return 0;
 +      }
        if (backup_dir) {
+               size_t len;
                while (*backup_dir == '.' && backup_dir[1] == '/')
-                       backup_dir += 2;
-@@ -2076,6 +2110,34 @@ int parse_arguments(int *argc_p, const char ***argv_p)
+@@ -2078,6 +2112,34 @@ int parse_arguments(int *argc_p, const char ***argv_p)
                        "P *%s", backup_suffix);
                parse_filter_str(&filter_list, backup_dir_buf, rule_template(0), 0);
        }
@@ -322,7 +321,7 @@ diff --git a/options.c b/options.c
  
        if (preserve_times) {
                preserve_times = PRESERVE_FILE_TIMES;
-@@ -2497,6 +2559,10 @@ void server_options(char **args, int *argc_p)
+@@ -2499,6 +2561,10 @@ void server_options(char **args, int *argc_p)
                args[ac++] = "--backup-dir";
                args[ac++] = backup_dir;
        }
@@ -333,7 +332,7 @@ diff --git a/options.c b/options.c
  
        /* Only send --suffix if it specifies a non-default value. */
        if (strcmp(backup_suffix, backup_dir ? "" : BACKUP_SUFFIX) != 0) {
-@@ -2505,7 +2571,14 @@ void server_options(char **args, int *argc_p)
+@@ -2507,7 +2573,14 @@ void server_options(char **args, int *argc_p)
                        goto oom;
                args[ac++] = arg;
        }