diff options
-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
diff --git a/ChangeLog b/ChangeLog index bd589f7e13..ee565af088 100644 --- a/ChangeLog +++ b/ChangeLog @@ -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 927851e2e1..6e2e5bf675 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 8896252246..5f6c9c35f0 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) |