X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FApplications%2Fcat_src%2Fmain.c;h=45a8d1b340936e6f74fe2d7d4613199db2bc9b9c;hb=2611b24a556e7881ef218e92b3ffc09a81339990;hp=a389c108649cc1bbd0ea0b3977903e1f17967296;hpb=9f6b2744216253fd5f7e7c8f1479abb42e2c3c68;p=tpg%2Facess2.git diff --git a/Usermode/Applications/cat_src/main.c b/Usermode/Applications/cat_src/main.c index a389c108..45a8d1b3 100644 --- a/Usermode/Applications/cat_src/main.c +++ b/Usermode/Applications/cat_src/main.c @@ -1,7 +1,6 @@ /* * Acess2 CAT command */ -#include #include #include @@ -13,29 +12,27 @@ */ int main(int argc, char *argv[]) { - int fd; - int num; - char buf[BUF_SIZE+1]; + size_t num; + char buf[BUF_SIZE]; if(argc < 2) { printf("Usage: cat \n"); return -1; } - fd = open(argv[1], OPENFLAG_READ); - if(fd == -1) { + FILE *fp = fopen(argv[1], "r"); + if(!fp) { printf("Unable to open '%s' for reading\n", argv[1]); return -1; } do { - num = read(fd, buf, BUF_SIZE); - if(num < 0) break; - buf[num] = '\0'; - printf("%s", buf); + num = fread(buf, 1, BUF_SIZE, fp); + if(num <= 0) break; + fwrite(buf, 1, num, stdout); } while(num == BUF_SIZE); - close(fd); + fclose(fp); printf("\n"); return 0;