diff options
author | Jakub Jelinek <jakub@redhat.com> | 2007-01-12 14:37:24 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2007-01-12 14:37:24 +0000 |
commit | 00e3dec8025c93ccde8ed810657e7f2115ddc8cb (patch) | |
tree | 30b8f6bdb08d364b986ae3ec3ec7664c520f0ad9 /sysdeps/unix/sysv/linux/ttyname_r.c | |
parent | d6220e9ee38c1c9285221b023346201ec5f511b3 (diff) | |
download | glibc-00e3dec8025c93ccde8ed810657e7f2115ddc8cb.tar glibc-00e3dec8025c93ccde8ed810657e7f2115ddc8cb.tar.gz glibc-00e3dec8025c93ccde8ed810657e7f2115ddc8cb.tar.bz2 glibc-00e3dec8025c93ccde8ed810657e7f2115ddc8cb.zip |
* nis/nis_table.c (nis_list): If __follow_path fails in the new
code, make sure the nis_freeresult call doesn't crash and that the
result is reported correctly.
* nis/nis_table.c (nis_list): Handle FOLLOW_PATH | ALL_RESULTS
when callback is NULL.
* nis/Versions (libnss_nisplus): Add
_nss_nisplus_initgroups_dyn@@GLIBC_PRIVATE.
* nis/Makefile (libnss_nisplus-routines): Add nisplus-initgroups.
* nis/nss_nisplus/nisplus-grp.c (tablename_val, tablename_len,
_nss_create_tablename): Rename to...
(grp_tablename_val, grp_tablename_len, _nss_grp_create_tablename):
... these. No longer static.
(internal_setgrent): Adjust users.
(_nss_nisplus_getgrnam_r, _nss_nisplus_getgrgid_r): Likewise.
Don't use locking around _nss_grp_create_tablename call.
* nis/nss_nisplus/nisplus-initgroups.c: New file.
Diffstat (limited to 'sysdeps/unix/sysv/linux/ttyname_r.c')
-rw-r--r-- | sysdeps/unix/sysv/linux/ttyname_r.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/sysdeps/unix/sysv/linux/ttyname_r.c b/sysdeps/unix/sysv/linux/ttyname_r.c index cef8624dc6..bd415f167b 100644 --- a/sysdeps/unix/sysv/linux/ttyname_r.c +++ b/sysdeps/unix/sysv/linux/ttyname_r.c @@ -22,7 +22,6 @@ #include <dirent.h> #include <sys/types.h> #include <sys/stat.h> -#include <termios.h> #include <unistd.h> #include <string.h> #include <stdlib.h> @@ -116,11 +115,11 @@ __ttyname_r (int fd, char *buf, size_t buflen) return ERANGE; } - /* isatty check, tcgetattr is used because it sets the correct - errno (EBADF resp. ENOTTY) on error. */ - struct termios term; - if (__builtin_expect (__tcgetattr (fd, &term) < 0, 0)) - return errno; + if (__builtin_expect (!__isatty (fd), 0)) + { + __set_errno (ENOTTY); + return ENOTTY; + } /* We try using the /proc filesystem. */ *_fitoa_word (fd, __stpcpy (procname, "/proc/self/fd/"), 10, 0) = '\0'; |