From 1a41ae3e030c467416a075667dd404ea3e650bc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20Ankarstr=C3=B6m?= Date: Wed, 14 Jul 2021 09:49:06 +0200 Subject: Add rin.c --- rin.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 rin.c diff --git a/rin.c b/rin.c new file mode 100644 index 0000000..72463d8 --- /dev/null +++ b/rin.c @@ -0,0 +1,34 @@ +#include +#include +#include +#include +#include + +int +main() +{ + int c, n, o, t; + struct termios orig, term; + + t = 0; + + if((o = open("/var/tmp/r.in", O_RDWR)) == -1) + err(1, "/var/tmp/r.in"); + + /* Enter "raw" terminal mode. */ + tcgetattr(t, &orig); + tcgetattr(t, &term); + term.c_lflag &= ~(ICANON|ECHO|ISIG); + tcsetattr(t, TCSANOW, &term); + + while((n = read(t, &c, 1)) > 0){ + if(c == 26) /* ^Z */ + break; + if(c != '\n') + write(t, &c, 1); + write(o, &c, 1); + } + + /* Restore original terminal mode. */ + tcsetattr(t, TCSANOW, &orig); +} -- cgit v1.2.3