musl - musl - an implementation of the standard library for Linux-based systems

index : musl
musl - an implementation of the standard library for Linux-based systems
summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/unistd/isatty.c 6
-rw-r--r--src/unistd/ttyname_r.c 2
2 files changed, 6 insertions, 2 deletions
diff --git a/src/unistd/isatty.c b/src/unistd/isatty.c
index c8badaf5..75a9c186 100644
--- a/src/unistd/isatty.c
+++ b/src/unistd/isatty.c
@@ -1,9 +1,13 @@
#include <unistd.h>
+#include <errno.h>
#include <sys/ioctl.h>
#include "syscall.h"
int isatty(int fd)
{
struct winsize wsz;
- return !__syscall(SYS_ioctl, fd, TIOCGWINSZ, &wsz);
+ unsigned long r = syscall(SYS_ioctl, fd, TIOCGWINSZ, &wsz);
+ if (r == 0) return 1;
+ if (errno != EBADF) errno = ENOTTY;
+ return 0;
}
diff --git a/src/unistd/ttyname_r.c b/src/unistd/ttyname_r.c
index cb364c29..82acb75e 100644
--- a/src/unistd/ttyname_r.c
+++ b/src/unistd/ttyname_r.c
@@ -9,7 +9,7 @@ int ttyname_r(int fd, char *name, size_t size)
char procname[sizeof "/proc/self/fd/" + 3*sizeof(int) + 2];
ssize_t l;
- if (!isatty(fd)) return ENOTTY;
+ if (!isatty(fd)) return errno;
__procfdname(procname, fd);
l = readlink(procname, name, size);
generated by cgit v1.2.1 (git 2.18.0) at 2025年09月20日 01:08:15 +0000

AltStyle によって変換されたページ (->オリジナル) /