---
coreutils/Config.src | 2 +-
coreutils/stty.c | 23 +++++++++++++++--------
2 files changed, 16 insertions(+), 9 deletions(-)
diff --git a/coreutils/Config.src b/coreutils/Config.src
index 780b73f..35e51d6 100644
--- a/coreutils/Config.src
+++ b/coreutils/Config.src
@@ -607,7 +607,7 @@ config FEATURE_STAT_FORMAT
config STTY
bool "stty"
default y
- depends on PLATFORM_LINUX
+ depends on PLATFORM_LINUX # works on Hurd, still broken on FreeBSD
help
stty is used to change and print terminal line settings.
diff --git a/coreutils/stty.c b/coreutils/stty.c
index c40d718..98d5e7b 100644
--- a/coreutils/stty.c
+++ b/coreutils/stty.c
@@ -1093,27 +1093,32 @@ static void set_mode(const struct mode_info *info, int
reversed,
mode->c_cc[VTIME] = 0;
}
}
- else if (IXANY && info == &mode_info[IDX_decctlq]) {
+#if IXANY
+ else if (info == &mode_info[IDX_decctlq]) {
if (reversed)
mode->c_iflag |= IXANY;
else
mode->c_iflag &= ~IXANY;
}
- else if (TABDLY && info == &mode_info[IDX_tabs]) {
+#endif
+#if TABDLY
+ else if (info == &mode_info[IDX_tabs]) {
if (reversed)
mode->c_oflag = (mode->c_oflag & ~TABDLY) | TAB3;
else
mode->c_oflag = (mode->c_oflag & ~TABDLY) | TAB0;
}
- else if (OXTABS && info == &mode_info[IDX_tabs]) {
+#endif
+#if OXTABS
+ else if (info == &mode_info[IDX_tabs]) {
if (reversed)
mode->c_oflag |= OXTABS;
else
mode->c_oflag &= ~OXTABS;
- } else
- if (XCASE && IUCLC && OLCUC
- && (info == &mode_info[IDX_lcase] || info == &mode_info[IDX_LCASE])
- ) {
+ }
+#endif
+#if XCASE && IUCLC && OLCUC
+ else if (info==&mode_info[IDX_lcase] || info==&mode_info[IDX_LCASE]) {
if (reversed) {
mode->c_lflag &= ~XCASE;
mode->c_iflag &= ~IUCLC;
@@ -1123,7 +1128,9 @@ static void set_mode(const struct mode_info *info, int
reversed,
mode->c_iflag |= IUCLC;
mode->c_oflag |= OLCUC;
}
- } else if (info == &mode_info[IDX_crt]) {
+ }
+#endif
+ else if (info == &mode_info[IDX_crt]) {
mode->c_lflag |= ECHOE | ECHOCTL | ECHOKE;
} else if (info == &mode_info[IDX_dec]) {
mode->c_cc[VINTR] = 3; /* ^C */
--
1.7.1
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox