summaryrefslogtreecommitdiff
path: root/userspace
diff options
context:
space:
mode:
Diffstat (limited to 'userspace')
-rw-r--r--userspace/cat.c8
-rw-r--r--userspace/piper.c21
-rw-r--r--userspace/test.txt2
3 files changed, 29 insertions, 2 deletions
diff --git a/userspace/cat.c b/userspace/cat.c
index 39d994f..5b419ca 100644
--- a/userspace/cat.c
+++ b/userspace/cat.c
@@ -3,7 +3,11 @@
int main(int argc, char **argv)
{
FILE *f;
- if(argc>1)f=fopen(argv[1],"r");
+ if(argc>1){
+ char buf[256];
+ sprintf(buf,"%s/%s",getenv("PWD"),argv[1]);
+ f=fopen(buf,"r");
+ }
else f=stdin;
setvbuf(stdin,NULL,_IONBF,0);
@@ -11,7 +15,7 @@ int main(int argc, char **argv)
char c;
- printf("-- read from file byte by byte --\n");
+ printf("-- reading from file byte by byte --\n\n");
while(fread(&c,1,1,f))
{
diff --git a/userspace/piper.c b/userspace/piper.c
new file mode 100644
index 0000000..2272f96
--- /dev/null
+++ b/userspace/piper.c
@@ -0,0 +1,21 @@
+#include <stdio.h>
+int main()
+{
+ int pid=_fork();
+ FILE *f=fopen("~testpipe","rw");
+
+ setvbuf(f,NULL,_IONBF,0);
+
+ if(pid==0)
+ {
+ char buf[2];
+ fread(f,buf,1,1);
+ printf("[%c]\n",buf[0]);
+ }
+ else
+ {
+ char buf="666";
+ fwrite(f,buf,1,1);
+ printf("written\n");
+ }
+}
diff --git a/userspace/test.txt b/userspace/test.txt
index d44e39c..7a22897 100644
--- a/userspace/test.txt
+++ b/userspace/test.txt
@@ -2,4 +2,6 @@ HELLO THIS IS A TEXTFILE
USED FOR TESTING THE FOOL OS EXT2 RAM IMAGE
TRY TO READ ME!
+  [COLOR CODES ARE SUPPORTED TOO FROM FILES] 
+
BYE