---- orig/receiver.c 2004-09-21 09:40:27
-+++ receiver.c 2004-09-22 02:09:20
-@@ -42,8 +42,11 @@ extern char *compare_dest;
- extern int make_backups;
- extern int do_progress;
- extern char *backup_dir;
-+extern char *delete_dir;
- extern char *backup_suffix;
-+extern char *delete_suffix;
- extern int backup_suffix_len;
-+extern int delete_suffix_len;
- extern int cleanup_got_literal;
- extern int module_id;
- extern int ignore_errors;
-@@ -77,11 +80,14 @@ static void delete_one(char *fn, int is_
- }
- }
-
--
-+/* 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 = strlen(fn) - delete_suffix_len;
-+ return k > 0 && strcmp(fn+k, delete_suffix) == 0;
- }
-
-
-@@ -122,10 +128,11 @@ void delete_files(struct file_list *flis
- continue;
- if (flist_find(flist,local_file_list->files[i]) < 0) {
- char *f = f_name(local_file_list->files[i]);
-- if (make_backups && (backup_dir || !is_backup_file(f))) {
-- make_backup(f);
-+ int backup_file = is_backup_file(f);
-+ if (make_backups && (delete_dir || !backup_file)) {
-+ safe_delete(f);
- if (verbose) {
-- rprintf(FINFO, "deleting %s\n",
-+ rprintf(FINFO, "safe-deleting %s\n",
- safe_fname(f));
- }
- } else {