Print this page
12306 XPG4v2 slave pty behaviour should generally be disabled
Reviewed by: Robert Mustacchi <rm@fingolfin.org>
Change-ID: I7ccd399c22866f34dd20c6bb9d28e77ba4e24c67
*** 26,36 ****
* Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
*/
/*
* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved.
! * Copyright 2019 OmniOS Community Edition (OmniOSce) Association.
*/
/* Copyright (c) 1988 AT&T */
/* All Rights Reserved */
--- 26,36 ----
* Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved.
*/
/*
* Copyright (c) 2013, OmniTI Computer Consulting, Inc. All rights reserved.
! * Copyright 2020 OmniOS Community Edition (OmniOSce) Association.
*/
/* Copyright (c) 1988 AT&T */
/* All Rights Reserved */
*** 248,257 ****
--- 248,270 ----
extern int posix_openpt(int);
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 *);
extern int clearenv(void);
extern void closefrom(int);