diff options
-rw-r--r-- | ls.c | 10 |
1 files changed, 9 insertions, 1 deletions
@@ -1,4 +1,5 @@ #include <dirent.h> +#include <errno.h> #include <stdio.h> #include <stdlib.h> #include <sys/types.h> @@ -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); } |