refactor: decouple the executable file implementations with execve functionality.
[lunaix-os.git] / lunaix-os / uprog / ls.c
index accc7f7fb9758c0e0cc6377665d38d60ad2c60ba..bac3c71eb2541e056fd8561b79e61d8d9ad2c31e 100644 (file)
@@ -6,8 +6,8 @@ int
 main(int argc, const char* argv[])
 {
     char* path = ".";
 main(int argc, const char* argv[])
 {
     char* path = ".";
-    if (argc > 0) {
-        path = argv[0];
+    if (argc > 1) {
+        path = argv[1];
     }
 
     DIR* dir = opendir(path);
     }
 
     DIR* dir = opendir(path);
@@ -21,6 +21,8 @@ main(int argc, const char* argv[])
     while ((dent = readdir(dir))) {
         if (dent->d_type == DT_DIR) {
             printf(" \033[3m%s\033[39;49m\n", dent->d_name);
     while ((dent = readdir(dir))) {
         if (dent->d_type == DT_DIR) {
             printf(" \033[3m%s\033[39;49m\n", dent->d_name);
+        } else if (dent->d_type == DT_SYMLINK) {
+            printf(" \033[13m%s@\033[39;49m\n", dent->d_name);
         } else {
             printf(" %s\n", dent->d_name);
         }
         } else {
             printf(" %s\n", dent->d_name);
         }