char *p;
if (!S_ISDIR(mode)) {
- if (max_delete && ++deletion_count > max_delete)
+ if (max_delete >= 0 && ++deletion_count > max_delete)
return 0;
if (make_backups && (backup_dir || !is_backup_file(fname)))
ok = make_backup(fname);
}
zap_dir = flags & DEL_FORCE_RECURSE || force_delete;
- if ((max_delete && ++deletion_count > max_delete)
+ if ((max_delete >= 0 && ++deletion_count > max_delete)
|| (dry_run && zap_dir)) {
ok = 0;
errno = ENOTEMPTY;
pop_local_filters(save_filters);
- if (max_delete && ++deletion_count > max_delete)
+ if (max_delete >= 0 && ++deletion_count > max_delete)
return 0;
if (do_rmdir(fname) == 0) {
&& verbose && code != FNONE && f_out != -1)
rprintf(code, "%s/\n", fname);
if (real_ret != 0 && one_file_system)
- st.st_dev = filesystem_dev;
+ real_st.st_dev = filesystem_dev;
if (delete_during && f_out != -1 && !phase && dry_run < 2
&& (file->flags & FLAG_DEL_HERE))
- delete_in_dir(the_file_list, fname, file, &st);
+ delete_in_dir(the_file_list, fname, file, &real_st);
return;
}
}
recv_generator(NULL, NULL, 0, 0, 0, code, -1);
- if (max_delete > 0 && deletion_count > max_delete) {
+ if (max_delete >= 0 && deletion_count > max_delete) {
rprintf(FINFO,
"Deletions stopped due to --max-delete limit (%d skipped)\n",
deletion_count - max_delete);