(__getpt): Do not use `isatty' to check if the opened master pty libc-as-990315
authordrepper <drepper>
Sun, 14 Mar 1999 21:12:22 +0000 (21:12 +0000)
committerdrepper <drepper>
Sun, 14 Mar 1999 21:12:22 +0000 (21:12 +0000)
really is a pty.  `isatty' checks for tty-ness and a pty is not a tty.
Return ENOENT instead of ENFILE if we are out of pty's.

sysdeps/unix/bsd/getpt.c

index 55d87fa..d807097 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Zack Weinberg <zack@rabi.phys.columbia.edu>, 1998.
 
@@ -64,20 +64,14 @@ __getpt (void)
 
          fd = __open (buf, O_RDWR);
          if (fd != -1)
-           {
-             if (__isatty (fd))
-               return fd;
+           return fd;
 
-             __close (fd);
-             continue;
-           }
-
-         if (errno != EIO)
+         if (errno == ENOENT)
            return -1;
        }
     }
 
-  __set_errno (ENFILE);
+  __set_errno (ENOENT);
   return -1;
 }
 weak_alias (__getpt, getpt)