aboutsummaryrefslogtreecommitdiffstats
path: root/usr/ls.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/ls.c')
-rw-r--r--usr/ls.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/usr/ls.c b/usr/ls.c
new file mode 100644
index 0000000..0e2e01f
--- /dev/null
+++ b/usr/ls.c
@@ -0,0 +1,10 @@
+#include "gbos.h"
+/* ls [dir]: list a directory (default: current). */
+void main(void) {
+ char *argv[4];
+ char name[16];
+ unsigned char argc = argv_parse(argv, 4);
+ unsigned char i;
+ if (opendir(argc > 0 ? argv[0] : ".")) { puts("ls: no such directory"); nl(); return; }
+ for (i = 0; flist(i, name); i++) { name[15] = 0; puts(name); nl(); }
+}