According to a clarification at http://austingroupbugs.net/view.php?id=503
ptsname may set errno, so avoid saving and restoring errno across the function. PR: standards/171572
This commit is contained in:
parent
7877ed7ce3
commit
6cbb6bbb77
@ -102,7 +102,8 @@ of the slave device on success; otherwise a
|
||||
pointer is returned.
|
||||
.Sh ERRORS
|
||||
The
|
||||
.Fn grantpt
|
||||
.Fn grantpt ,
|
||||
.Fn ptsname
|
||||
and
|
||||
.Fn unlockpt
|
||||
functions may fail and set
|
||||
|
@ -77,7 +77,6 @@ ptsname(int fildes)
|
||||
{
|
||||
static char pt_slave[sizeof _PATH_DEV + SPECNAMELEN] = _PATH_DEV;
|
||||
char *ret = NULL;
|
||||
int sverrno = errno;
|
||||
|
||||
/* Make sure fildes points to a master device. */
|
||||
if (__isptmaster(fildes) != 0)
|
||||
@ -87,7 +86,6 @@ ptsname(int fildes)
|
||||
sizeof pt_slave - (sizeof _PATH_DEV - 1)) != NULL)
|
||||
ret = pt_slave;
|
||||
|
||||
done: /* Make sure ptsname() does not overwrite errno. */
|
||||
errno = sverrno;
|
||||
done:
|
||||
return (ret);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user