From 582a7567c8004eab1257aae29b96804425f8ee3d Mon Sep 17 00:00:00 2001 From: Lieuwe Rooijakkers Date: Sat, 13 Jul 2024 22:07:45 +0200 Subject: shared code for kat --- src/kat.c | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) (limited to 'src/kat.c') diff --git a/src/kat.c b/src/kat.c index 7a279d0..9c50aed 100644 --- a/src/kat.c +++ b/src/kat.c @@ -6,6 +6,8 @@ #include #include +#include "util/map.h" + int entry_kat(int argc, char **argv) { if (argc == 2 && strcmp(argv[1], "-h") == 0) { fprintf(stderr, "Gebruik: kat [BESTAND]...\n" @@ -16,26 +18,13 @@ int entry_kat(int argc, char **argv) { for (int i = 1; i < argc; i++) { const char *fname = argv[i]; - int fd = open(fname, O_RDONLY); - - struct stat sb; - if (fstat(fd, &sb) == -1) { - fprintf(stderr, "Kon bestand niet lezen\n"); - return 0; - } - - char *addr = mmap(NULL, sb.st_size, PROT_READ, MAP_SHARED, fd, 0); - if (addr == MAP_FAILED) { - fprintf(stderr, "Kon bestand niet kaarten\n"); - return 0; - } + struct map *map = open_map(fname); - for (size_t i = 0; i < sb.st_size; i++) { - putchar(addr[i]); + for (size_t i = 0; i < map->sb.st_size; i++) { + putchar(map->addr[i]); } - munmap(addr, sb.st_size); - close(fd); + close_map(map); } return 0; -- cgit v1.2.3-70-g09d2