X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=unix%2Fuxser.c;h=24b0124cb4aba9fad9735f1a3901bd8e6b8c2477;hb=90e7bf4228fa74fda1c65cb2597c9d964329f702;hp=463f4c43f7952d25a1bf29da5d7ab5f09fa1fc6a;hpb=1ee1d694cf33ff6fe01f471719fca7ee6d062f59;p=PuTTY.git diff --git a/unix/uxser.c b/unix/uxser.c index 463f4c43..24b0124c 100644 --- a/unix/uxser.c +++ b/unix/uxser.c @@ -205,7 +205,25 @@ static const char *serial_configure(Serial serial, Config *cfg) options.c_cflag |= CLOCAL | CREAD; options.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG); - options.c_oflag &= ~OPOST; + options.c_iflag &= ~(ISTRIP | IGNCR | INLCR | ICRNL +#ifdef IUCLC + | IUCLC +#endif + ); + options.c_oflag &= ~(OPOST +#ifdef ONLCR + | ONLCR +#endif +#ifdef OCRNL + | OCRNL +#endif +#ifdef ONOCR + | ONOCR +#endif +#ifdef ONLRET + | ONLRET +#endif + ); options.c_cc[VMIN] = 1; options.c_cc[VTIME] = 0; @@ -248,6 +266,8 @@ static const char *serial_init(void *frontend_handle, void **backend_handle, if (serial->fd < 0) return "Unable to open serial port"; + cloexec(serial->fd); + err = serial_configure(serial, cfg); if (err) return err;