Add very simple ls
This commit is contained in:
parent
8b79ec4168
commit
ac8f545de1
|
@ -1,6 +1,6 @@
|
|||
CC= gcc
|
||||
SRCFILES= cat.c touch.c yes.c mkdir.c echo.c
|
||||
OBJFILES= cat touch yes mkdir echo
|
||||
SRCFILES= cat.c touch.c yes.c mkdir.c echo.c ls.c
|
||||
OBJFILES= cat touch yes mkdir echo ls
|
||||
CFLAGS= -Wall -Wextra
|
||||
|
||||
.PHONY: all clean
|
||||
|
@ -11,6 +11,7 @@ all:
|
|||
$(CC) $(CFLAGS) yes.c -o yes
|
||||
$(CC) $(CFLAGS) mkdir.c -o mkdir
|
||||
$(CC) $(CFLAGS) echo.c -o echo
|
||||
$(CC) $(CFLAGS) ls.c -o ls
|
||||
|
||||
clean:
|
||||
@rm ${OBJFILES}
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
#include <stdio.h>
|
||||
#include <dirent.h>
|
||||
|
||||
// TODO: add more sorted output (. and .. in the top) and flags
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
DIR *dp;
|
||||
struct dirent *ep;
|
||||
if (argc > 1) {
|
||||
dp = opendir(argv[1]);
|
||||
if (dp != NULL) {
|
||||
while ((ep = readdir (dp))) {
|
||||
printf("%s\n", ep->d_name);
|
||||
}
|
||||
closedir(dp);
|
||||
} else {
|
||||
perror("ls");
|
||||
}
|
||||
return 0;
|
||||
} else {
|
||||
dp = opendir("./");
|
||||
if (dp != NULL) {
|
||||
while ((ep = readdir (dp))) {
|
||||
printf("%s\n", ep->d_name);
|
||||
}
|
||||
closedir(dp);
|
||||
} else {
|
||||
perror("ls");
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue