From 3d851f35fb4eea5c9e10684e0c8c499514d2b912 Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Sun, 1 Oct 2017 22:11:41 +0200 Subject: [PATCH] add: method printHumanReadSize --- discspan.c | 58 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 30 insertions(+), 28 deletions(-) diff --git a/discspan.c b/discspan.c index ab4a99d..fe3429c 100644 --- a/discspan.c +++ b/discspan.c @@ -35,21 +35,44 @@ int exists(const char *fname) { } } -void splitter(const char *input, - char *output, const char *rest, - unsigned long long splitgroesse) { - struct stat st; - char pfad[255]; - unsigned long long filesize; +void printHumanReadSize(const char *output, unsigned long long int splitgroesse) { unsigned long long humanread; char einheit = 'B'; char i = 0; + humanread = splitgroesse; + while (humanread >= 1024) { + i++; + humanread /= 1024; + + switch (i) { + case 1: + einheit = 'K'; + break; + case 2: + einheit = 'M'; + break; + case 3: + einheit = 'G'; + break; + } + } + + printf("Restlicher Platz in Bytes(%s): %lld (%lld %c)\n", output, splitgroesse, humanread, einheit); +} + +void splitter(const char *input, + char *output, const char *rest, + unsigned long long splitgroesse) { FILE *in; FILE *out; FILE *re; in = fopen(input, "r"); out = fopen(output, "w"); + char pfad[255]; + unsigned long long filesize; + struct stat st; + while (fscanf(in, "%[^\n]\n", pfad) == 1) { stat(pfad, &st); @@ -75,30 +98,9 @@ void splitter(const char *input, fclose(re); } - humanread = splitgroesse; - - while (humanread >= 1024) { - i++; - humanread /= 1024; - - switch (i) { - case 1: - einheit = 'K'; - break; - case 2: - einheit = 'M'; - break; - case 3: - einheit = 'G'; - break; - } - } - - printf("Restlicher Platz in Bytes(%s): %lld (%lld %c)\n", output, splitgroesse, humanread, einheit); + printHumanReadSize(output, splitgroesse); } - - int cmpfunc(const void * filea, const void * fileb) { long long unsigned int a = ((const struct file_size*)filea)->fsize; -- 2.39.5