diff options
Diffstat (limited to 'libc/stdlib')
| -rw-r--r-- | libc/stdlib/getpt.c | 9 | 
1 files changed, 7 insertions, 2 deletions
| diff --git a/libc/stdlib/getpt.c b/libc/stdlib/getpt.c index 3033a13aa..37ba78ab1 100644 --- a/libc/stdlib/getpt.c +++ b/libc/stdlib/getpt.c @@ -74,14 +74,19 @@ posix_openpt (int flags)  	  /* Check that the /dev/pts filesystem is mounted  	     or if /dev is a devfs filesystem (this implies /dev/pts).  */ -	  if ((_state & devpts_mounted) -	      || (__libc_statfs (_PATH_DEVPTS, &fsbuf) == 0 +	  if ( +#if !defined __UNIX98PTY_ONLY__ +	      (_state & devpts_mounted) || +#endif +	      (__libc_statfs (_PATH_DEVPTS, &fsbuf) == 0  		  && fsbuf.f_type == DEVPTS_SUPER_MAGIC)  	      || (__libc_statfs (_PATH_DEV, &fsbuf) == 0  		  && fsbuf.f_type == DEVFS_SUPER_MAGIC))  	    {  	      /* Everything is ok.  */ +#if !defined __UNIX98PTY_ONLY__  	      _state |= devpts_mounted; +#endif  	      return fd;  	    } | 
