---- orig/flist.c 2005-01-25 00:53:58
-+++ flist.c 2005-01-24 02:21:33
-@@ -47,6 +47,8 @@ extern char curr_dir[MAXPATHLEN];
- extern unsigned int curr_dir_len;
- extern char *backup_dir;
- extern char *backup_suffix;
-+extern char *delete_dir;
-+extern char *delete_suffix;
- extern int filesfrom_fd;
-
- extern int one_file_system;
-@@ -61,6 +63,7 @@ extern int relative_paths;
- extern int implied_dirs;
- extern int make_backups;
- extern int backup_suffix_len;
-+extern int delete_suffix_len;
- extern int copy_links;
- extern int copy_unsafe_links;
- extern int protocol_version;
-@@ -1661,10 +1664,14 @@ char *f_name(struct file_struct *f)
- return f_name_to(f, names[n]);
- }
-
-+/* Function now checks if file matches backup or delete suffix patterns */
- static int is_backup_file(char *fn)
- {
- int k = strlen(fn) - backup_suffix_len;
-- return k > 0 && strcmp(fn+k, backup_suffix) == 0;
-+ if (k > 0 && strcmp(fn+k, backup_suffix) == 0)
-+ return 1;
-+ k += backup_suffix_len - delete_suffix_len;
-+ return k > 0 && strcmp(fn+k, delete_suffix) == 0;
- }
-
- void delete_in_dir(struct file_list *flist, char *fname)
-@@ -1718,11 +1725,12 @@ void delete_in_dir(struct file_list *fli
- || (delete_during && S_ISDIR(mode)
- && !S_ISDIR(flist->files[j]->mode))) {
- char *f = f_name(del_flist->files[i]);
-- if (make_backups && (backup_dir || !is_backup_file(f))
-+ int backup_file = is_backup_file(f);
-+ if (make_backups && (delete_dir || !backup_file)
- && !S_ISDIR(mode)) {
-- make_backup(f);
-+ safe_delete(f);
- if (verbose) {
-- rprintf(FINFO, "deleting %s\n",
-+ rprintf(FINFO, "safe-deleting %s\n",
- safe_fname(f));
- }
- } else {
---- orig/options.c 2005-01-25 03:26:51
-+++ options.c 2004-11-27 18:37:18
-@@ -119,10 +119,14 @@ int no_detach = 0;