summaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'main.c')
-rw-r--r--main.c44
1 files changed, 25 insertions, 19 deletions
diff --git a/main.c b/main.c
index c0395e6..da1bd6c 100644
--- a/main.c
+++ b/main.c
@@ -11,11 +11,7 @@
/* BOOLEANS */
#define true 1
#define false 0
-
-typedef struct
-{
- int process_id;
-} id;
+#define _DEFAULT_SOURCE
void exit_program(char *argv)
{
@@ -32,25 +28,27 @@ void get_pid_parent_process()
void list_directories()
{
+ struct dirent **namelist;
+ int n;
+ n = scandir(".", &namelist, NULL, alphasort);
+ if (n == -1)
+ {
+ perror("scandir");
+ exit(EXIT_FAILURE);
+ }
-}
-
-
-char *save_variable(char* command, char *argv)
-{
- char *variable = (char *)malloc(sizeof(char));
- char *input = readline();
-
- if (strcmp(argv[0], "$") == 0)
+ while (n--)
{
- while(*argv != ("/0"))
- {
-
- }
+ printf("%s\n", namelist[n]->d_name);
+ free(namelist[n]);
}
+ free(namelist[n]);
+ exit(EXIT_SUCCESS);
}
+
+
void echo(char *command, char *argv)
{
if (strcmp(command, "echo") == 0)
@@ -59,9 +57,17 @@ void echo(char *command, char *argv)
}
}
-int main(int argc, char *argv[])
+int main(void)
{
+ char *input;
+ readline(input);
+
+ while(strcmp(input, "exit") != 0)
+ {
+ list_directories();
+ }
+ exit_program(input);
return 0;
}