__close (fd); continue; }  if (errno != EIO)
if (errno == ENOENT)
__getpt (void){  char buf[sizeof (_PATH_PTY) + 2];  const char *p, *q;  char *s;  s = __mempcpy (buf, _PATH_PTY, sizeof (_PATH_PTY) - 1);  /* s[0] and s[1] will be filled in the loop.  */  s[2] = '\0';  for (p = __libc_ptyname1; *p != '\0'; ++p)    {      s[0] = *p;      for (q = __libc_ptyname2; *q != '\0'; ++q)	{	  int fd;	  s[1] = *q;	  fd = __open (buf, O_RDWR);	  if (fd != -1)	    {	      if (__isatty (fd))		return fd;	      __close (fd);	      continue;	    }	  if (errno != EIO)	    return -1;	}    }  __set_errno (ENFILE);  return -1;}