public inbox for glibc-cvs@sourceware.org
help / color / mirror / Atom feed
* [glibc] bsd unlockpt: unlockpt needs to fail with EINVAL, not ENOTTY
@ 2020-11-08 14:09 Samuel Thibault
0 siblings, 0 replies; only message in thread
From: Samuel Thibault @ 2020-11-08 14:09 UTC (permalink / raw)
To: glibc-cvs
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=dfe2e7a5627f2c7bdc298fc714dbf12f7666fa2a
commit dfe2e7a5627f2c7bdc298fc714dbf12f7666fa2a
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date: Sun Nov 8 14:06:56 2020 +0000
bsd unlockpt: unlockpt needs to fail with EINVAL, not ENOTTY
The EINVAL error code is mandated by POSIX, while ptsname_r returns
ENOTTY, so we need to translate.
Diff:
---
sysdeps/unix/bsd/unlockpt.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/sysdeps/unix/bsd/unlockpt.c b/sysdeps/unix/bsd/unlockpt.c
index d8b7f0cae7..e609685c2f 100644
--- a/sysdeps/unix/bsd/unlockpt.c
+++ b/sysdeps/unix/bsd/unlockpt.c
@@ -20,6 +20,7 @@
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
+#include <errno.h>
/* Unlock the slave pseudo terminal associated with the master pseudo
@@ -31,6 +32,10 @@ unlockpt (int fd)
/* BSD doesn't have a lock, but it does have `revoke'. */
if (__ptsname_r (fd, buf, sizeof (buf)))
- return -1;
+ {
+ if (errno == ENOTTY)
+ __set_errno (EINVAL);
+ return -1;
+ }
return __revoke (buf);
}
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2020-11-08 14:09 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-08 14:09 [glibc] bsd unlockpt: unlockpt needs to fail with EINVAL, not ENOTTY Samuel Thibault
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).