From fd3ebedafc751998b4596d0277a704c41988d10b Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Tue, 3 Aug 2010 09:54:22 -0700 Subject: Hurd: fix ttyname{,_r} errno result for non-ttys --- sysdeps/mach/hurd/ttyname.c | 8 ++++++-- sysdeps/mach/hurd/ttyname_r.c | 6 +++++- 2 files changed, 11 insertions(+), 3 deletions(-) (limited to 'sysdeps/mach') 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) -- cgit 1.4.1