浏览代码

ls: ls will print directory name when listing multiple directories

setepenre 4 年之前
父节点
当前提交
fe8cefa7c1
共有 1 个文件被更改,包括 14 次插入0 次删除
  1. 14 0
      Userland/Utilities/ls.cpp

+ 14 - 0
Userland/Utilities/ls.cpp

@@ -145,8 +145,22 @@ int main(int argc, char** argv)
     } else if (paths.size() == 1) {
     } else if (paths.size() == 1) {
         status = do_file_system_object(paths[0]);
         status = do_file_system_object(paths[0]);
     } else {
     } else {
+        Vector<const char*> exists;
         for (auto& path : paths) {
         for (auto& path : paths) {
+            if (Core::File::exists(path)) {
+                exists.append(path);
+            } else {
+                status = do_file_system_object(path);
+            }
+        }
+        for (size_t i = 0; i < exists.size(); ++i) {
+            auto path = exists.at(i);
+            printf("%s:\n", path);
             status = do_file_system_object(path);
             status = do_file_system_object(path);
+
+            if (i + 1 == exists.size() - 1) {
+                printf("\n");
+            }
         }
         }
     }
     }
     return status;
     return status;