diff --git a/src/kiss.c b/src/kiss.c index 61cf3cf..a3945bb 100644 --- a/src/kiss.c +++ b/src/kiss.c @@ -52,16 +52,18 @@ patty_kiss_tnc *patty_kiss_tnc_new_fd(int fd) { goto error_malloc_buf; } - if (tcgetattr(fd, &tnc->attrs) < 0) { - goto error_tcgetattr; - } + if (isatty(fd)) { + if (tcgetattr(fd, &tnc->attrs) < 0) { + goto error_tcgetattr; + } - memcpy(&tnc->attrs_old, &tnc->attrs, sizeof(tnc->attrs_old)); + memcpy(&tnc->attrs_old, &tnc->attrs, sizeof(tnc->attrs_old)); - cfmakeraw(&tnc->attrs); + cfmakeraw(&tnc->attrs); - if (tcsetattr(fd, TCSANOW, &tnc->attrs) < 0) { - goto error_tcsetattr; + if (tcsetattr(fd, TCSANOW, &tnc->attrs) < 0) { + goto error_tcsetattr; + } } tnc->fd = fd;