fix: corner cases when printing large content through term interface
[lunaix-os.git] / lunaix-os / usr / cat / main.c
diff --git a/lunaix-os/usr/cat/main.c b/lunaix-os/usr/cat/main.c
deleted file mode 100644 (file)
index 9f0d35b..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <errno.h>
-#include <fcntl.h>
-#include <stdio.h>
-#include <unistd.h>
-
-#define BUFSIZE 4096
-
-static char buffer[BUFSIZE];
-
-int
-main(int argc, const char* argv[])
-{
-    int fd = 0;
-    int size = 0;
-    struct file_stat stat;
-    for (int i = 1; i < argc; i++) {
-        fd = open(argv[i], FO_RDONLY);
-                
-        if (fd < 0) {
-            printf("open failed: %s (error: %d)", argv[i], fd);
-            continue;
-        }
-
-        if (fstat(fd, &stat) < 0) {
-            printf("fail to get stat %d\n", errno);
-            return 1;
-        }
-
-        if (!(stat.mode & F_MFILE)) {
-            printf("%s is a directory", argv[i]);
-            return 1;
-        }
-
-        do {
-            size = read(fd, buffer, BUFSIZE);
-            write(stdout, buffer, size);
-        } while (size == BUFSIZE);
-
-        close(fd);
-    }
-
-    return 0;
-}
\ No newline at end of file