diff options
-rw-r--r-- | libc/stdlib/getpt.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/libc/stdlib/getpt.c b/libc/stdlib/getpt.c index 37ba78ab1..5b067438f 100644 --- a/libc/stdlib/getpt.c +++ b/libc/stdlib/getpt.c @@ -108,6 +108,11 @@ posix_openpt (int flags) return -1; } } +#if !defined __UNIX98PTY_ONLY__ && defined __UCLIBC_HAS_GETPT__ + /* If we have no ptmx then ignore flags and use the fallback. */ + if (_state & have_no_dev_ptmx) + return __bsd_getpt(); +#endif return -1; } libc_hidden_def(posix_openpt) @@ -115,18 +120,12 @@ libc_hidden_def(posix_openpt) #undef devpts_mounted #if defined __USE_GNU && defined __UCLIBC_HAS_GETPT__ -int -getpt (void) +int getpt (void) { - int fd = posix_openpt(O_RDWR); -#if !defined __UNIX98PTY_ONLY__ - if (fd == -1) - fd = __bsd_getpt(); -#endif - return fd; + return posix_openpt(O_RDWR); } -#if !defined __UNIX98PTY_ONLY__ +#if !defined __UNIX98PTY_ONLY__ && defined __UCLIBC_HAS_GETPT__ # define PTYNAME1 "pqrstuvwxyzabcde"; # define PTYNAME2 "0123456789abcdef"; |