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
+ | OCRNL | ONOCR | ONLRET);
options.c_cc[VMIN] = 1;
options.c_cc[VTIME] = 0;
if (serial->fd < 0)
return "Unable to open serial port";
+ cloexec(serial->fd);
+
err = serial_configure(serial, cfg);
if (err)
return err;