chore: fix almost *ALL* warnings.
[lunaix-os.git] / lunaix-os / uprog / ls.c
index 605723c541d8031e908044d7e95ed240f92de25e..646dd6bddb219ba53d2205132070f6d0eba797de 100644 (file)
@@ -5,9 +5,9 @@
 int
 main(int argc, const char* argv[])
 {
 int
 main(int argc, const char* argv[])
 {
-    char* path = ".";
-    if (argc > 0) {
-        path = argv[0];
+    const char* path = ".";
+    if (argc > 1) {
+        path = argv[1];
     }
 
     DIR* dir = opendir(path);
     }
 
     DIR* dir = opendir(path);
@@ -21,10 +21,14 @@ 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);
         }
     }
 
+    closedir(dir);
+
     return 0;
 }
\ No newline at end of file
     return 0;
 }
\ No newline at end of file