mlibc: Add isatty.
authorJan Nieuwenhuizen <janneke@gnu.org>
Sun, 22 Apr 2018 09:47:44 +0000 (11:47 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Sun, 22 Apr 2018 09:47:44 +0000 (11:47 +0200)
* lib/libc.c (isatty): New function.
* include/unistd.h: Declare it.

include/unistd.h
lib/libc.c

index 5c6426e3c98b23e035a196cd26d5cf50d931766b..1c4086ada331d1865f22ba69306b9790ba3798ad 100644 (file)
@@ -51,6 +51,7 @@ int access (char const *s, int mode);
 int close (int fd);
 int execvp (char const *file, char *const argv[]);
 char *getcwd (char *buf, size_t size);
+int isatty (int fd);
 off_t lseek (int fd, off_t offset, int whence);
 int read (int fd, void* buf, size_t n);
 int unlink (char const *file_name);
index bfef3eec43a67201206e856ac3150dece6811c18..97565c31a1ac8557d9068e1a506c078a02bab99e 100644 (file)
@@ -18,6 +18,7 @@
  * along with Mes.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <sys/ioctl.h>
 #include <stdarg.h>
 #include <stdlib.h>
 
@@ -419,4 +420,11 @@ sprintf (char *str, char const* format, ...)
   va_end (ap);
   return r;
 }
+
+int
+isatty (int fd)
+{
+  return ioctl (fd, TCGETS, 0) == -14; // MAGIC
+}
+
 #endif //!POSIX