diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2010-08-03 09:54:22 -0700 |
---|---|---|
committer | Roland McGrath <roland@redhat.com> | 2010-08-03 09:54:22 -0700 |
commit | fd3ebedafc751998b4596d0277a704c41988d10b (patch) | |
tree | febc32b1da59bfa4aaec28a3ec8c93b88ddfe7d9 | |
parent | 5a42321d438211210e0869e5e90f8d75d1354e14 (diff) | |
download | glibc-fd3ebedafc751998b4596d0277a704c41988d10b.zip glibc-fd3ebedafc751998b4596d0277a704c41988d10b.tar.gz glibc-fd3ebedafc751998b4596d0277a704c41988d10b.tar.bz2 |
Hurd: fix ttyname{,_r} errno result for non-ttys
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | sysdeps/mach/hurd/ttyname.c | 8 | ||||
-rw-r--r-- | sysdeps/mach/hurd/ttyname_r.c | 6 |
3 files changed, 18 insertions, 3 deletions
@@ -3,6 +3,13 @@ * hurd/hurdselect.c (_hurd_select): Round timeout up instead of down when converting to ms. +2010-06-06 Samuel Thibault <samuel.thibault@ens-lyon.org> + + * sysdeps/mach/hurd/ttyname.c (ttyname): Replace MIG_BAD_ID and + EOPNOTSUPP errors with ENOTTY. + * sysdeps/mach/hurd/ttyname_r.c (__ttyname_r): Replace MIG_BAD_ID and + EOPNOTSUPP errors with ENOTTY. + 2010-07-31 Ulrich Drepper <drepper@redhat.com> * sysdeps/x86_64/multiarch/Makefile [subdir=string] (sysdep_routines): diff --git a/sysdeps/mach/hurd/ttyname.c b/sysdeps/mach/hurd/ttyname.c index 927851e..6e2e5bf 100644 --- a/sysdeps/mach/hurd/ttyname.c +++ b/sysdeps/mach/hurd/ttyname.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1994, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1994, 1997, 2010 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -32,7 +32,11 @@ ttyname (int fd) nodename[0] = '\0'; if (err = HURD_DPORT_USE (fd, __term_get_nodename (port, nodename))) - return __hurd_dfail (fd, err), NULL; + { + if (err == MIG_BAD_ID || err == EOPNOTSUPP) + err = ENOTTY; + return __hurd_dfail (fd, err), NULL; + } return nodename; } diff --git a/sysdeps/mach/hurd/ttyname_r.c b/sysdeps/mach/hurd/ttyname_r.c index 8896252..5f6c9c3 100644 --- a/sysdeps/mach/hurd/ttyname_r.c +++ b/sysdeps/mach/hurd/ttyname_r.c @@ -34,7 +34,11 @@ __ttyname_r (int fd, char *buf, size_t buflen) nodename[0] = '\0'; if (err = HURD_DPORT_USE (fd, __term_get_nodename (port, nodename))) - return __hurd_dfail (fd, err), errno; + { + if (err == MIG_BAD_ID || err == EOPNOTSUPP) + err = ENOTTY; + return __hurd_dfail (fd, err), errno; + } len = strlen (nodename) + 1; if (len > buflen) |