invented "delete" function
parent
21104b3d55
commit
93d198cabf
52
structs.c
52
structs.c
|
@ -250,3 +250,55 @@ int print_list(Folder *fld, int mode)
|
||||||
printf("└──────────┴──────────┴────────────────────────────────────────────────────┘\n");
|
printf("└──────────┴──────────┴────────────────────────────────────────────────────┘\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void delete_file(File *deleting)
|
||||||
|
{
|
||||||
|
int i; //iterator
|
||||||
|
int file_ind=-1;
|
||||||
|
if (deleting != NULL) {
|
||||||
|
Folder* parent = deleting->parent;
|
||||||
|
|
||||||
|
for (i = 0; i < parent->files_count_cur; i++)
|
||||||
|
{
|
||||||
|
if (parent->files[i] == deleting)
|
||||||
|
file_ind = i;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i = file_ind+1; i < parent->files_count_cur; i++)
|
||||||
|
{
|
||||||
|
parent->files[i] = parent->files[i + 1];
|
||||||
|
}
|
||||||
|
|
||||||
|
parent->files[parent->files_count_cur - 1] = NULL;
|
||||||
|
parent->files_count_cur--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void delete_folder(Folder* deleting)
|
||||||
|
{
|
||||||
|
int i; //iterator
|
||||||
|
int fold_ind = -1;
|
||||||
|
if (deleting != NULL) {
|
||||||
|
Folder* parent = deleting->parent;
|
||||||
|
|
||||||
|
for (i = 0; i < parent->folders_count_cur; i++)
|
||||||
|
{
|
||||||
|
if (parent->folders[i] == deleting)
|
||||||
|
fold_ind = i;
|
||||||
|
}
|
||||||
|
|
||||||
|
free(deleting->files);
|
||||||
|
while (deleting->folders_count_cur)
|
||||||
|
{
|
||||||
|
delete_folder(deleting->folders[0]);
|
||||||
|
}
|
||||||
|
free(deleting->folders);
|
||||||
|
|
||||||
|
for (i = fold_ind + 1; i < parent->folders_count_cur; i++)
|
||||||
|
{
|
||||||
|
parent->folders[i] = parent->folders[i + 1];
|
||||||
|
}
|
||||||
|
parent->folders[parent->folders_count_cur - 1] = NULL;
|
||||||
|
parent->folders_count_cur--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue