about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/ttyname_r.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-10-29 17:48:35 +0000
committerUlrich Drepper <drepper@redhat.com>1998-10-29 17:48:35 +0000
commit7dc7f7b215911a23deeffb9fd6f86cce39c425b6 (patch)
tree2b55e421d49cae2c529d754900f12de5f1b87ec4 /sysdeps/unix/sysv/linux/ttyname_r.c
parent67a969999211ebdaf0833a4fc1db2c6320d07378 (diff)
downloadglibc-7dc7f7b215911a23deeffb9fd6f86cce39c425b6.tar.gz
glibc-7dc7f7b215911a23deeffb9fd6f86cce39c425b6.tar.xz
glibc-7dc7f7b215911a23deeffb9fd6f86cce39c425b6.zip
Update.
	* sysdeps/unix/sysv/linux/ttyname.c (ttyname): Keep Linux 2.0
	kernels in mind when reading /proc/self/fd/FD.
	* sysdeps/unix/sysv/linux/ttyname_r.c (__ttyname_r): Likewise.
Diffstat (limited to 'sysdeps/unix/sysv/linux/ttyname_r.c')
-rw-r--r--sysdeps/unix/sysv/linux/ttyname_r.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sysdeps/unix/sysv/linux/ttyname_r.c b/sysdeps/unix/sysv/linux/ttyname_r.c
index 8306cf56c0..449942a96d 100644
--- a/sysdeps/unix/sysv/linux/ttyname_r.c
+++ b/sysdeps/unix/sysv/linux/ttyname_r.c
@@ -134,9 +134,9 @@ __ttyname_r (fd, buf, buflen)
   *_fitoa_word (fd, __stpcpy (procname, "/proc/self/fd/"), 10, 0) = '\0';
 
   ret = __readlink (procname, buf, buflen - 1);
-  if (ret != -1)
+  if (ret != -1 && buf[0] != '[')
     return 0;
-  if (errno == ENAMETOOLONG)
+  if (ret == -1 && errno == ENAMETOOLONG)
     {
       __set_errno (ERANGE);
       return ERANGE;