From 55f5a1d0ba00ad8e15fadc391e4aa3960c9afdb3 Mon Sep 17 00:00:00 2001 From: Squibid Date: Wed, 3 May 2023 22:36:17 -0400 Subject: inital commit most of the current utils don't work --- ls.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 ls.c (limited to 'ls.c') diff --git a/ls.c b/ls.c new file mode 100644 index 0000000..630ee4a --- /dev/null +++ b/ls.c @@ -0,0 +1,34 @@ +#include +#include +#include +#include + +int main(int argc, char *argv[]) +{ + DIR *d; + char *dirs; + struct dirent *dir; + int hidden = 1; + int c; + + while ((c = getopt(argc, argv, "a")) != -1) { + switch (c) { + case 'a': hidden = 0; break; + } + } + + if (argc > 0) { + for (int i = 1; i < argc; i++) { + dirs = argv[i]; + if ((d = opendir(dirs))) { + while ((dir = readdir(d)) != NULL) { + if (strncmp(dir->d_name, ".", 1) != 0 && hidden) /* dont print hidden files */ + printf("%s\n", dir->d_name); + else if (!hidden) + printf("%s\n", dir->d_name); + } + closedir(d); + } + } + } +} -- cgit v1.2.1