aboutsummaryrefslogtreecommitdiff
path: root/ls.c
diff options
context:
space:
mode:
Diffstat (limited to 'ls.c')
-rw-r--r--ls.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/ls.c b/ls.c
index 768897d..4b48c9c 100644
--- a/ls.c
+++ b/ls.c
@@ -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);