From 0199c0a7b735d474fa1f7bed67b841f65ee7b780 Mon Sep 17 00:00:00 2001 From: Aki Date: Wed, 7 Jul 2021 22:39:43 +0200 Subject: Simplified error handling in read_image --- lc3.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/lc3.c b/lc3.c index 854a3ec..0a0ad97 100644 --- a/lc3.c +++ b/lc3.c @@ -415,13 +415,10 @@ void step(const uint16_t instruction) } } -int read_image(const char * path) +void read_image(const char * path) { const int fd = open(path, O_RDONLY); - if (-1 == fd) - { - return -1; - } + die(fd, "read_image open()"); uint16_t origin; ssize_t length = read(fd, &origin, sizeof(origin)); die(length, "read_image read origin"); @@ -435,7 +432,7 @@ int read_image(const char * path) *dest = be16toh(*dest); dest++; } - return close(fd); + die(close(fd), "read_image close()"); } int main(int argc, char ** argv) @@ -446,7 +443,7 @@ int main(int argc, char ** argv) } for (int i = 1; i < argc; ++i) { - die(read_image(argv[i]), "read_image"); + read_image(argv[i]); } signal(SIGINT, handle_signal); atexit(restore_terminal); -- cgit v1.1