aboutsummaryrefslogtreecommitdiffstats
path: root/calculate.c
diff options
context:
space:
mode:
authorMattias Andrée <maandree@kth.se>2024-08-28 16:42:05 +0200
committerMattias Andrée <maandree@kth.se>2024-08-28 16:42:05 +0200
commita24071ae913b223487df78859c8d830f9e69f580 (patch)
treee2ec712cc29461c82cfdd477e8b1ba961b50018d /calculate.c
parentFirst commit (diff)
downloadanysum-a24071ae913b223487df78859c8d830f9e69f580.tar.gz
anysum-a24071ae913b223487df78859c8d830f9e69f580.tar.bz2
anysum-a24071ae913b223487df78859c8d830f9e69f580.tar.xz
Second commit
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to '')
-rw-r--r--calculate.c55
1 files changed, 0 insertions, 55 deletions
diff --git a/calculate.c b/calculate.c
deleted file mode 100644
index 69181dd..0000000
--- a/calculate.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/* See LICENSE file for copyright and license details. */
-#include "common.h"
-
-
-static void
-process(struct algorithm *algorithm, struct global_data *global)
-{
- size_t r;
- r = algorithm->hasher.process(&algorithm->hasher,
- &global->buffer->buf[algorithm->offset],
- global->buffer->length - algorithm->offset);
- algorithm->offset += r;
-}
-
-
-static void
-finalise(struct algorithm *algorithm, struct global_data *global)
-{
- if (algorithm->hasher.finalise_const(&algorithm->hasher, &global->buffer->buf[algorithm->offset],
- global->buffer->length - algorithm->offset, 0))
- abort();
- format_result(algorithm, global->file, global->format);
-}
-
-
-int
-calculate(const char *file, struct barrier_group *group, struct global_data *global)
-{
- int fd, is_new_fd, r, ret = -1;
- const char *fname;
-
- global->nalgorithms = inithashers(global->algorithms, global->nalgorithms);
- if (!global->nalgorithms)
- return 0;
-
- fd = openfile(file, &is_new_fd, &fname);
- if (fd < 0)
- return -1;
-
- global->buffer->length = 0;
- while (!(r = feedbuffer(fd, global->buffer, fname))) {
- barriersend(group, global, &process);
- shiftbuffer(global->algorithms, global->nalgorithms, global->buffer);
- }
- if (r < 0)
- goto fail;
-
- barriersend(group, global, &finalise);
- ret = 0;
-fail:
- destroyhashers(global->algorithms, global->nalgorithms);
- if (is_new_fd)
- close(fd);
- return ret;
-}