Return EBADF on a bad file descriptor. Previously 0 was returned, in
violation of the requirement in
https://man7.org/linux/man-pages/man3/ptsname_r.3.html that an error
number should be returned on failure.
We are intentionally deviating from Linux, on which ENOTTY is
returned.
Addresses: https://lists.gnu.org/archive/html/bug-gnulib/2021-01/msg00245.html
- Fix the errno when a path contains .. and the prefix exists but is
not a directory.
Addresses: https://lists.gnu.org/archive/html/bug-gnulib/2021-01/msg00214.html
+
+- Fix the return value when ptsname_r(3) is called with a bad file descriptor
+ Addresses: https://lists.gnu.org/archive/html/bug-gnulib/2021-01/msg00245.html
cygheap_fdget cfd (fd);
if (cfd < 0)
- return 0;
+ return EBADF;
return cfd->ptsname_r (buf, buflen);
}