#ifndef _SPLITTER_H
#define _SPLITTER_H
+void free_medium(medium_t *medium);
+void free_collection(collection_t *col);
+
medium_t splitter(medium_t *srcdata);
medium_t ignore(medium_t *srcdata);
collection_t split_all(medium_t *srcdata);
return -2;
}
-void free_collection(collection_t *data)
-{
- for (int i = 0; i < data->length; i++) {
- free(data->disc[i].filearray);
- }
-
- free(data->disc);
-}
-
void span(const char *input, const char *output, unsigned long long split)
{
medium_t srcdata = { 0, split, 0, NULL };
#define S_IFREG 0100000 // bitmask for regular file; man inode
+void free_medium(medium_t *medium)
+{
+ free(medium->filearray);
+}
+
+void free_collection(collection_t *col)
+{
+ for (int i = 0; i < col->length; i++) {
+ free_medium(&col->disc[i]);
+ }
+
+ free(col->disc);
+}
+
medium_t init_empty_medium(medium_t srcdata)
{
medium_t empty;
srcdata->filearray = (file_size_t *) realloc(srcdata->filearray,
srcdata->length * sizeof(file_size_t));
- free(rest.filearray);
+ free_medium(&rest);
return disc;
}
col.length++;
}
- free(srcdata->filearray);
+ free_medium(srcdata);
return col;
}