From 6522895fdf6d741a64f75e3ee7fe24b6f354eaa7 Mon Sep 17 00:00:00 2001 From: Tom Ryder Date: Wed, 16 Mar 2016 23:02:57 +1300 Subject: Some basic ls(1) error checking --- ls.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'ls.c') diff --git a/ls.c b/ls.c index 4b48c9c..251d5fb 100644 --- a/ls.c +++ b/ls.c @@ -1,4 +1,5 @@ #include +#include #include #include #include @@ -15,11 +16,18 @@ int main(int argc, char **argv) dirname = "."; } - dir = opendir(dirname); + if ((dir = opendir(dirname)) == NULL) { + perror("opendir"); + exit(EXIT_FAILURE); + } while ((dirent = readdir(dir)) != NULL) { fprintf(stdout, "%s\n", dirent->d_name); } + if (errno) { + perror("readdir"); + exit(EXIT_FAILURE); + } exit(EXIT_SUCCESS); } -- cgit v1.2.3