From 1e08b64b43bf9c50b644da3f76d5a8bcc73f62da Mon Sep 17 00:00:00 2001 From: Miguel Date: Wed, 19 Sep 2018 01:52:14 +0200 Subject: addding sysfs and pipes etc --- userspace/cat.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'userspace/cat.c') diff --git a/userspace/cat.c b/userspace/cat.c index 5b419ca..d0b018b 100644 --- a/userspace/cat.c +++ b/userspace/cat.c @@ -5,8 +5,17 @@ int main(int argc, char **argv) FILE *f; if(argc>1){ char buf[256]; - sprintf(buf,"%s/%s",getenv("PWD"),argv[1]); - f=fopen(buf,"r"); + if(argv[1][0]!='/') + { + sprintf(buf,"%s/%s",getenv("PWD"),argv[1]); + printf("cat %s\n",buf); + f=fopen(buf,"r"); + } + else + { + printf("cat %s\n",argv[1]); + f=fopen(argv[1],"r"); + } } else f=stdin; @@ -15,14 +24,10 @@ int main(int argc, char **argv) char c; - printf("-- reading from file byte by byte --\n\n"); - while(fread(&c,1,1,f)) { printf("%c",c); } - printf("\n-- no more data on this file --\n"); - return 0; } -- cgit v1.2.3