diff --git a/main.c b/main.c index 3379ec6..9b75e27 100644 --- a/main.c +++ b/main.c @@ -34,7 +34,7 @@ #include #endif -__RCSID("$MirOS: src/bin/mksh/main.c,v 1.271 2013/10/09 11:59:29 tg Exp $"); +__RCSID("$MirOS: src/bin/mksh/main.c,v 1.272 2013/11/17 22:23:28 tg Exp $"); extern char **environ; @@ -1921,9 +1921,10 @@ x_mkraw(int fd, mksh_ttyst *ocb, bool forread) cb = *ocb; if (forread) { + cb.c_iflag &= ~(ISTRIP); cb.c_lflag &= ~(ICANON) | ECHO; } else { - cb.c_iflag &= ~(INLCR | ICRNL); + cb.c_iflag &= ~(INLCR | ICRNL | ISTRIP); cb.c_lflag &= ~(ISIG | ICANON | ECHO); } #if defined(VLNEXT) && defined(_POSIX_VDISABLE) diff --git a/sh.h b/sh.h index e52977d..834f0de 100644 --- a/sh.h +++ b/sh.h @@ -164,7 +164,7 @@ #endif #ifdef EXTERN -__RCSID("$MirOS: src/bin/mksh/sh.h,v 1.674 2013/11/17 22:22:54 tg Exp $"); +__RCSID("$MirOS: src/bin/mksh/sh.h,v 1.675 2013/11/17 22:23:29 tg Exp $"); #endif #define MKSH_VERSION "R48 2013/10/08" @@ -418,6 +418,10 @@ extern int __cdecl setegid(gid_t); #define mksh_tcset(fd,st) ioctl((fd), TCSETAW, (st)) #endif +#ifndef ISTRIP +#define ISTRIP 0 +#endif + /* remove redundancies */ #if defined(MirBSD) && (MirBSD >= 0x0AB3) && !defined(MKSH_OPTSTATIC)