Solaris defines VSWTCH instead of VSWTC; carefully make sure both are
defined and export both names.
Solaris also does not define CBAUDEX; it is not clear that CBAUDEXT
(which is defined there) is the same thing, so we only protect against
the lack of CBAUDEX.
Reported by Greg V. Wilson.
diff --git a/Modules/termios.c b/Modules/termios.c
index 4ec0a36..16a6d38 100644
--- a/Modules/termios.c
+++ b/Modules/termios.c
@@ -294,6 +294,14 @@
};
+#if defined(VSWTCH) && !defined(VSWTC)
+#define VSWTC VSWTCH
+#endif
+
+#if defined(VSWTC) && !defined(VSWTCH)
+#define VSWTCH VSWTC
+#endif
+
static struct constant {
char *name;
long value;
@@ -320,7 +328,9 @@
#ifdef B230400
{"B230400", B230400},
#endif
+#ifdef CBAUDEX
{"CBAUDEX", CBAUDEX},
+#endif
/* tcsetattr() constants */
{"TCSANOW", TCSANOW},
@@ -440,6 +450,7 @@
{"VTIME", VTIME},
{"VMIN", VMIN},
{"VSWTC", VSWTC},
+ {"VSWTCH", VSWTCH},
{"VSTART", VSTART},
{"VSTOP", VSTOP},
{"VSUSP", VSUSP},