From: Bastian Dehn Date: Sat, 6 Sep 2025 08:00:13 +0000 (+0200) Subject: optimize add ignore disc X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=4c52c418b507757dc88903270cf5938db38a90f7;p=discspan.git optimize add ignore disc --- diff --git a/libs/spandisc/src/splitter.c b/libs/spandisc/src/splitter.c index 66cf004..30b54d9 100644 --- a/libs/spandisc/src/splitter.c +++ b/libs/spandisc/src/splitter.c @@ -74,6 +74,20 @@ void move_rest_to_srcdata(medium_t* rest, medium_t* srcdata) rest->length * sizeof(file_size_t)); } +void add_ignoredisc_to_collection(medium_t* ignoredisc, collection_t* col) +{ + if (ignoredisc->length < 1) { + free_medium(ignoredisc); + ignoredisc = NULL; + return; + } + + ignoredisc->freespace = 0; + col->disc = malloc(sizeof(medium_t*)); + col->disc[col->length] = ignoredisc; + col->length++; +} + medium_t* splitter_to_disc(medium_t *srcdata, bool (*check)(medium_t*, file_size_t*)) { @@ -116,15 +130,7 @@ medium_t* ignore(medium_t *srcdata) void split_all(medium_t *srcdata, collection_t* col) { medium_t* ignoredisc = ignore(srcdata); - ignoredisc->freespace = 0; - if (ignoredisc->length > 0) { - col->disc = malloc(sizeof(medium_t*)); - col->disc[col->length] = ignoredisc; - col->length++; - } else { - free_medium(ignoredisc); - ignoredisc = NULL; - } + add_ignoredisc_to_collection(ignoredisc, col); while (srcdata->length > 0) { srcdata->nr++;