summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAki <please@ignore.pl>2021-07-07 22:39:43 +0200
committerAki <please@ignore.pl>2021-07-07 22:39:43 +0200
commit0199c0a7b735d474fa1f7bed67b841f65ee7b780 (patch)
treee91be13372f52f4f676c5603dfd2cc081d512aba
parente29f5d92875863426ed7fcdcf7059ca9e8e133e8 (diff)
downloadlc3-0199c0a7b735d474fa1f7bed67b841f65ee7b780.zip
lc3-0199c0a7b735d474fa1f7bed67b841f65ee7b780.tar.gz
lc3-0199c0a7b735d474fa1f7bed67b841f65ee7b780.tar.bz2
Simplified error handling in read_image
-rw-r--r--lc3.c11
1 files 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);