diff options
-rw-r--r-- | Makefile | 11 | ||||
-rw-r--r-- | ls.c | 13 |
2 files changed, 21 insertions, 3 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..1a71395 --- /dev/null +++ b/Makefile @@ -0,0 +1,11 @@ +.PHONY: all clean + +CC = clang +CFLAGS = -std=c90 -Weverything + +all : ls + +clean : + rm -f -- *.o + rm -f ls + @@ -3,12 +3,19 @@ #include <stdlib.h> #include <sys/types.h> -int main(void) +int main(int argc, char **argv) { - struct dirent *dirent; + char *dirname; DIR *dir; + struct dirent *dirent; + + if (argc > 1) { + dirname = argv[1]; + } else { + dirname = "."; + } - dir = opendir("."); + dir = opendir(dirname); while ((dirent = readdir(dir)) != NULL) { fprintf(stdout, "%s\n", dirent->d_name); |