diff --git a/disk.c b/disk.c index c11dd8d..e91212b 100644 --- a/disk.c +++ b/disk.c @@ -31,7 +31,7 @@ #include #include /* ctime */ -#if (defined(HAVE_DIRFD) || defined(HAVE_DECL_DIRFD)) +#if (defined(HAVE_DIRFD) || (HAVE_DECL_DIRFD == 1)) #define DIRFD(a) (dirfd(a)) #else #define DIRFD(a) ((a)->DIR_FD_MEMBER_NAME) diff --git a/serial.c b/serial.c index 2b95956..fdf84c5 100644 --- a/serial.c +++ b/serial.c @@ -445,8 +445,13 @@ serial_create(uint32 device_id, uint32 access, uint32 share_mode, uint32 disposi tcsetattr(serial_fd, TCSANOW, ptermios); */ + pser_inf->ptermios->c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL|IXON); + pser_inf->ptermios->c_oflag &= ~OPOST; + pser_inf->ptermios->c_lflag &= ~(ECHO|ECHONL|ICANON|ISIG|IEXTEN); + pser_inf->ptermios->c_cflag &= ~(CSIZE|PARENB); + pser_inf->ptermios->c_cflag |= CS8; + tcsetattr(serial_fd, TCSANOW, pser_inf->ptermios); - cfmakeraw(pser_inf->ptermios); *handle = serial_fd; /* all read and writes should be non blocking */