1
0
mirror of https://gittea.dev/nova/th.git synced 2025-10-21 18:30:15 -04:00

recursive file deletion

This commit is contained in:
nova
2025-09-08 23:18:25 +02:00
parent c923497f01
commit 525f205d67
3 changed files with 36 additions and 17 deletions

View File

@@ -433,32 +433,22 @@ void delete(){
if (ch == 'y' || ch == 'Y') {
/* TODO(2025-06-30T02:27:06) IMPORTANT: this really fucks up when the file has a quotation mark in its name */
int error;
if (hits) {
int j = 2;
for (i = 0; i < mid_file_count; i++) {
if (mid_content[i].status & FILE_STATUS_SELECTED) {
error = remove(mid_content[i].file_name);
if (error != 0) {
mvaddstr(terminal_height-j, 0, "could not delete: " );
mvaddstr(terminal_height-j, strlen("could not delete: "), mid_content[i].file_name);
j++;
}
recursive_delete(mid_content[i]);
}
}
free(btm_buffer);
btm_buffer = concat("deleted: ", file_str);
} else {
free(btm_buffer);
error = remove(mid_content[selected_file_current].file_name);
if (error != 0) {
mvaddstr(terminal_height-2, 0, "could not delete: " );
mvaddstr(terminal_height-2, strlen("could not delete: "), mid_content[i].file_name);
btm_buffer = " ";
} else {
btm_buffer = concat("deleted: \"", mid_content[selected_file_current].file_name);
btm_buffer = concat(btm_buffer, "\"");
}
if (mid_content[selected_file_current].file_type & (FILE_TYPE_SYMLINK | FILE_TYPE_DIR)) {
recursive_delete(mid_content[selected_file_current]);
}
remove(mid_content[selected_file_current].file_name);
btm_buffer = concat("deleted: \"", mid_content[selected_file_current].file_name);
btm_buffer = concat(btm_buffer, "\"");
}
/*system(cmd);*/