srcdata->filearray = (file_size_t *)
realloc(srcdata->filearray,
(srcdata->length + 1) * sizeof(file_size_t));
+ srcdata->filearray[srcdata->length].name = malloc(sizeof(char) * strlen(path) + 1);
strcpy(srcdata->filearray[srcdata->length].name, path);
srcdata->filearray[srcdata->length].type = st->st_mode;
srcdata->filearray[srcdata->length].fsize = st->st_size;
return medium;
}
+void free_file_size(file_size_t* file_size)
+{
+ free(file_size->name);
+ file_size->name = NULL;
+}
+
void free_medium(medium_t *medium)
{
free(medium->filearray);
void free_collection(collection_t *col)
{
for (int i = 0; i < col->length; i++) {
+ for (int j = 0; j < col->disc[i]->length; j++) {
+ free_file_size(&col->disc[i]->filearray[j]);
+ }
+
free_medium(col->disc[i]);
col->disc[i] = NULL;
}
#endif
typedef struct {
- char name[255];
+ char* name;
unsigned long long fsize;
unsigned int type;
} file_size_t;