diff options
Diffstat (limited to 'cat.c')
-rw-r--r-- | cat.c | 43 |
1 files changed, 0 insertions, 43 deletions
@@ -1,43 +0,0 @@ -#include "types.h" -#include "stat.h" -#include "user.h" - -char buf[512]; - -void -cat(int fd) -{ - int n; - - while((n = read(fd, buf, sizeof(buf))) > 0) { - if (write(1, buf, n) != n) { - printf(1, "cat: write error\n"); - exit(); - } - } - if(n < 0){ - printf(1, "cat: read error\n"); - exit(); - } -} - -int -main(int argc, char *argv[]) -{ - int fd, i; - - if(argc <= 1){ - cat(0); - exit(); - } - - for(i = 1; i < argc; i++){ - if((fd = open(argv[i], 0)) < 0){ - printf(1, "cat: cannot open %s\n", argv[i]); - exit(); - } - cat(fd); - close(fd); - } - exit(); -} |