- char *f = f_name(dir_list->files[i]);
- if (make_backups && (backup_dir || !is_backup_file(f))
- && !S_ISDIR(mode)) {
- make_backup(f);
- if (verbose || log_format)
- log_delete(f, mode);
- } else if (S_ISDIR(mode))
- delete_file(f, mode, DEL_FORCE_RECURSE);
- else
- delete_file(f, mode, 0);
- deletion_count++;
- if (max_delete && deletion_count >= max_delete)
+ char *fn = f_name_to(dir_list->files[i], fbuf);
+ int mode = dir_list->files[i]->mode;
+ int dflag = S_ISDIR(mode) ? DEL_FORCE_RECURSE : 0;
+ if (delete_file(fn, mode, dflag) < 0)