From: Bastian Dehn Date: Wed, 11 Aug 2021 19:20:23 +0000 (+0200) Subject: change: folder structure build with cmake X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=e90efe3a0aef2ae6de6acea6853a48b8e67add85;p=discspan.git change: folder structure build with cmake --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 6e07d1b..507a0a9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,14 +10,14 @@ set(HEADERPATH "/usr/local/include") project(discspan) if (SHAREDLIB) - set(SOURCES discspan.c help.c) - set(SOURCE_LIB logic.c filehandler.c splitter.c) - set(PUBLIC_HEADERS discspan.h logic.h filehandler.h splitter.h) + file(GLOB SOURCES discspan/*.c) + file(GLOB SOURCE_LIB libspandisc/*.c) + include_directories(include) add_library(spandisc SHARED ${SOURCE_LIB}) - set_target_properties(spandisc PROPERTIES PUBLIC_HEADER "${PUBLIC_HEADERS}") else() - set(SOURCES discspan.c help.c logic.c filehandler.c splitter.c) + file(GLOB SOURCES discspan/*.c libspandisc/*.c) + include_directories(include) endif() add_executable(discspan ${SOURCES}) diff --git a/discspan.c b/discspan.c deleted file mode 100644 index fce4b6b..0000000 --- a/discspan.c +++ /dev/null @@ -1,107 +0,0 @@ -#include -#include -#include - -#include "discspan.h" -#include "logic.h" -#include "help.h" - -extern void useage(); -extern void (*status_print)(const char *output, medium_t disc); -extern void run(const char *input, - const char *output, - unsigned long long split); - -typedef struct { - char *input; - char *output; - unsigned long long split; -} param_t; - -param_t readArgument(int argc, char *argv[]) -{ - param_t parameter = { NULL, NULL, 0 }; - - // Medien groessen - const unsigned long long bluray = 24159191040; - const unsigned long long dvd9 = 8500000000; - const unsigned long long dvd5 = 4700000000; - const unsigned long long cd = 734003200; - - int c = 0; - while ((c = getopt(argc, argv, ":59bcf:hi:o:")) != -1) { - switch (c) { - case 'i': - parameter.input = optarg; - break; - case 'o': - parameter.output = optarg; - break; - case '5': - parameter.split = dvd5; - break; - case '9': - parameter.split = dvd9; - break; - case 'b': - parameter.split = bluray; - break; - case 'c': - parameter.split = cd; - break; - case 'f': - parameter.split = atoll(optarg); - break; - case 'h': - useage(); - exit(0); - break; - default: - printf("WARNUNG: Parameter -%c unbekannt!\n", optopt); - break; - } - } - - return parameter; -} - -void print_human_read_size(const char *output, medium_t medium) -{ - unsigned long long humanread; - char einheit[6] = {'B', 'K', 'M', 'G', 'T', 'P'}; - int i = 0; - - humanread = medium.freespace; - while (humanread >= 1024) { - humanread /= 1024; - i++; - } - - if (i > sizeof(einheit)/sizeof(einheit[0])) - i = 0; - - printf("Restlicher Platz in Bytes(%s): %lld (%lld %c)\n", output, - medium.freespace, humanread, einheit[i]); -} - -int main(int argc, char *argv[]) -{ - param_t parameter = readArgument(argc, argv); - - if (parameter.input == NULL - || parameter.output == NULL - || parameter.split < 2048) { - useage(); - exit(1); - } - - if (access(parameter.input, F_OK) < 0) { - printf("ERROR: %s existiert nicht!\n", parameter.input); - exit(1); - } - - status_print = print_human_read_size; - run(parameter.input, parameter.output, parameter.split); - - return 0; -} diff --git a/discspan.h b/discspan.h deleted file mode 100644 index 611a78d..0000000 --- a/discspan.h +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef _DISCSPAN_H -#define _DISCSPAN_H - -typedef struct { - char name[255]; - unsigned long long fsize; - unsigned int type; -} file_size_t; - -typedef struct { - int nr; - unsigned long long freespace; - int length; - file_size_t *filearray; -} medium_t; - -typedef struct { - int length; - medium_t *disc; -} collection_t; - -#endif diff --git a/discspan/discspan.c b/discspan/discspan.c new file mode 100644 index 0000000..fce4b6b --- /dev/null +++ b/discspan/discspan.c @@ -0,0 +1,107 @@ +#include +#include +#include + +#include "discspan.h" +#include "logic.h" +#include "help.h" + +extern void useage(); +extern void (*status_print)(const char *output, medium_t disc); +extern void run(const char *input, + const char *output, + unsigned long long split); + +typedef struct { + char *input; + char *output; + unsigned long long split; +} param_t; + +param_t readArgument(int argc, char *argv[]) +{ + param_t parameter = { NULL, NULL, 0 }; + + // Medien groessen + const unsigned long long bluray = 24159191040; + const unsigned long long dvd9 = 8500000000; + const unsigned long long dvd5 = 4700000000; + const unsigned long long cd = 734003200; + + int c = 0; + while ((c = getopt(argc, argv, ":59bcf:hi:o:")) != -1) { + switch (c) { + case 'i': + parameter.input = optarg; + break; + case 'o': + parameter.output = optarg; + break; + case '5': + parameter.split = dvd5; + break; + case '9': + parameter.split = dvd9; + break; + case 'b': + parameter.split = bluray; + break; + case 'c': + parameter.split = cd; + break; + case 'f': + parameter.split = atoll(optarg); + break; + case 'h': + useage(); + exit(0); + break; + default: + printf("WARNUNG: Parameter -%c unbekannt!\n", optopt); + break; + } + } + + return parameter; +} + +void print_human_read_size(const char *output, medium_t medium) +{ + unsigned long long humanread; + char einheit[6] = {'B', 'K', 'M', 'G', 'T', 'P'}; + int i = 0; + + humanread = medium.freespace; + while (humanread >= 1024) { + humanread /= 1024; + i++; + } + + if (i > sizeof(einheit)/sizeof(einheit[0])) + i = 0; + + printf("Restlicher Platz in Bytes(%s): %lld (%lld %c)\n", output, + medium.freespace, humanread, einheit[i]); +} + +int main(int argc, char *argv[]) +{ + param_t parameter = readArgument(argc, argv); + + if (parameter.input == NULL + || parameter.output == NULL + || parameter.split < 2048) { + useage(); + exit(1); + } + + if (access(parameter.input, F_OK) < 0) { + printf("ERROR: %s existiert nicht!\n", parameter.input); + exit(1); + } + + status_print = print_human_read_size; + run(parameter.input, parameter.output, parameter.split); + + return 0; +} diff --git a/discspan/help.c b/discspan/help.c new file mode 100644 index 0000000..eb018f0 --- /dev/null +++ b/discspan/help.c @@ -0,0 +1,16 @@ +#include +#include "help.h" + +void useage() +{ + printf("\nUsage: discspan