blob: dde58cd22959584e9cb84bbb90e8a9cef106edcb (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#include "gbos.h"
/* cat [file]: print a file, or copy stdin to stdout until EOF. */
void main(void) {
char *argv[4];
unsigned char argc = argv_parse(argv, 4);
if (argc > 0) {
unsigned char fd = open(argv[0], O_READ);
int ch;
if (fd == NOFD) { puts("cat: no such file"); nl(); return; }
while ((ch = fgetc(fd)) >= 0) putc((char)ch);
close(fd);
} else {
char c;
for (;;) { c = readc(); if (c == EOF) break; putc(c); }
}
}
|