Kernel+LibC: Switch isatty() to use a fcntl()

We would want it to work with only stdio pledged.
This commit is contained in:
Sergey Bugaev 2020-05-19 20:34:45 +03:00 committed by Andreas Kling
parent f9cffda0e0
commit 7541122206
4 changed files with 5 additions and 2 deletions

View file

@ -1845,6 +1845,8 @@ int Process::sys$fcntl(int fd, int cmd, u32 arg)
case F_SETFL:
description->set_file_flags(arg);
break;
case F_ISTTY:
return description->is_tty();
default:
return -EINVAL;
}

View file

@ -74,6 +74,7 @@
#define F_SETFD 2
#define F_GETFL 3
#define F_SETFL 4
#define F_ISTTY 5
#define FD_CLOEXEC 1

View file

@ -36,6 +36,7 @@ __BEGIN_DECLS
#define F_SETFD 2
#define F_GETFL 3
#define F_SETFL 4
#define F_ISTTY 5
#define FD_CLOEXEC 1

View file

@ -413,8 +413,7 @@ int rmdir(const char* pathname)
int isatty(int fd)
{
struct termios dummy;
return tcgetattr(fd, &dummy) == 0;
return fcntl(fd, F_ISTTY);
}
int dup(int old_fd)