-
-@@ -114,8 +121,8 @@ static int delete_item(char *fname, int
- if (!S_ISDIR(mode)) {
- if (max_delete && ++deletion_count > max_delete)
- return 0;
-- if (make_backups && (backup_dir || !is_backup_file(fname)))
-- ok = make_backup(fname);
-+ if (make_backups && (backup_dir_dels || !is_backup_file(fname)))
-+ ok = safe_delete(fname);
- else
- ok = robust_unlink(fname) == 0;
- if (ok) {
-@@ -138,9 +145,9 @@ static int delete_item(char *fname, int
- || (dry_run && zap_dir)) {
- ok = 0;
- errno = ENOTEMPTY;
-- } else if (make_backups && !backup_dir && !is_backup_file(fname)
-+ } else if (make_backups && !backup_dir_dels && !is_backup_file(fname)
- && !(flags & DEL_FORCE_RECURSE))
-- ok = make_backup(fname);
-+ ok = safe_delete(fname);
- else
- ok = do_rmdir(fname) == 0;
- if (ok) {
---- orig/options.c 2005-11-07 04:29:01
-+++ options.c 2005-11-07 04:35:54
-@@ -131,10 +131,14 @@ int no_detach
+ /* Delete a file or directory. If DEL_RECURSE is set in the flags, this will
+@@ -167,9 +174,9 @@ static enum delret delete_item(char *fbuf, int mode, char *replace, int flags)
+ if (S_ISDIR(mode)) {
+ what = "rmdir";
+ ok = do_rmdir(fbuf) == 0;
+- } else if (make_backups > 0 && (backup_dir || !is_backup_file(fbuf))) {
++ } else if (make_backups > 0 && (backup_dir_dels || !is_backup_file(fbuf))) {
+ what = "make_backup";
+- ok = make_backup(fbuf);
++ ok = safe_delete(fbuf);
+ } else {
+ what = "unlink";
+ ok = robust_unlink(fbuf) == 0;
+diff --git a/options.c b/options.c
+--- a/options.c
++++ b/options.c
+@@ -149,10 +149,14 @@ int no_detach