summaryrefslogtreecommitdiff
path: root/usr/src/head
diff options
context:
space:
mode:
authorAndy Fiddaman <omnios@citrus-it.co.uk>2020-02-14 11:58:47 +0000
committerAndy Fiddaman <omnios@citrus-it.co.uk>2020-03-05 19:45:24 +0000
commit7d8deab2c421c563ab11a55e623ed48109e237af (patch)
treea11aa2b64d9ba96cb20d117820f2c6aa0eaedca3 /usr/src/head
parent8950e535f42dd006f8cfb2122c94f6b7557757e0 (diff)
downloadillumos-gate-7d8deab2c421c563ab11a55e623ed48109e237af.tar.gz
12306 XPG4v2 slave pty behaviour should generally be disabled
Reviewed by: Robert Mustacchi <rm@fingolfin.org> Reviewed by: John Levon <john.levon@joyent.com> Approved by: Dan McDonald <danmcd@joyent.com>
Diffstat (limited to 'usr/src/head')
-rw-r--r--usr/src/head/stdlib.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/usr/src/head/stdlib.h b/usr/src/head/stdlib.h
index 6b0d224e07..337311a978 100644
--- a/usr/src/head/stdlib.h
+++ b/usr/src/head/stdlib.h
@@ -28,7 +28,7 @@
/*
* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved.
- * Copyright 2019 OmniOS Community Edition (OmniOSce) Association.
+ * Copyright 2020 OmniOS Community Edition (OmniOSce) Association.
*/
/* Copyright (c) 1988 AT&T */
@@ -250,6 +250,19 @@ extern int setenv(const char *, const char *, int);
extern int unsetenv(const char *);
#endif
+/*
+ * In strict XPG4v2 mode, slave pseudo terminal devices behave differently.
+ * See the block comment in usr/src/lib/libc/port/gen/pt.c
+ */
+#if defined(_STRICT_SYMBOLS) && defined(_XPG4_2)
+#ifdef __PRAGMA_REDEFINE_EXTNAME
+#pragma redefine_extname unlockpt __unlockpt_xpg4
+#else
+extern int __unlockpt_xpg4(int);
+#define unlockpt __unlockpt_xpg4
+#endif
+#endif /* defined(_STRICT_SYMBOLS) && defined(_XPG4_2) */
+
#if defined(__EXTENSIONS__) || \
(!defined(_STRICT_STDC) && !defined(__XOPEN_OR_POSIX))
extern char *canonicalize_file_name(const char *);