Use the POSIX isatty() (XCC)
authorBarret Rhoden <brho@cs.berkeley.edu>
Wed, 23 Mar 2016 20:16:41 +0000 (16:16 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Thu, 31 Mar 2016 20:53:42 +0000 (16:53 -0400)
This is somewhat bullshit, since our tcgetattr() always returns whatever my
Linux terminal said back in 2009.

Rebuild glibc.

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
tools/compilers/gcc-glibc/glibc-2.19-akaros/sysdeps/akaros/isatty.c

index 6de6069..72897d6 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1995, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2014 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
    Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* AKAROS: this is just the POSIX isatty.c */
 
-#include <errno.h>
 #include <unistd.h>
-#include <paths.h>
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <sys/stat.h>
-#include <ros/syscall.h>
+#include <termios.h>
 
 /* Return 1 if FD is a terminal, 0 if not.  */
 int
-__isatty (int fd)
+__isatty (fd)
+     int fd;
 {
-  struct stat s;
-  int ret = fstat(fd,&s);
-  return ret < 0 ? -1 : ((s.st_mode & S_IFCHR) ? 1 : 0);
+  struct termios term;
+
+  return __tcgetattr (fd, &term) == 0;
 }
+
 weak_alias (__isatty, isatty)