mirror of
https://sourceware.org/git/glibc.git
synced 2024-09-19 16:10:01 +00:00
hurd: Fix build on missing __ptsname_internal function
* sysdeps/mach/hurd/ptsname.c: Include <sys/stat.h>. (__ptsname_r): Move implementation to... (__ptsname_internal): ... new function. Add filling the STP structure.
This commit is contained in:
parent
13768813bc
commit
dd1efd8c56
@ -3,6 +3,10 @@
|
||||
* mach/Makefile (headers): Add mach/param.h.
|
||||
* sysdeps/mach/hurd/bits/param.h: Include <mach/param.h>.
|
||||
* sysdeps/mach/i386/mach/param.h: New file, defines EXEC_PAGESIZE
|
||||
* sysdeps/mach/hurd/ptsname.c: Include <sys/stat.h>.
|
||||
(__ptsname_r): Move implementation to...
|
||||
(__ptsname_internal): ... new function. Add filling the STP
|
||||
structure.
|
||||
|
||||
2018-02-17 John David Anglin <danglin@gcc.gnu.org>
|
||||
|
||||
|
@ -18,6 +18,7 @@
|
||||
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
#include <sys/stat.h>
|
||||
#include <hurd.h>
|
||||
#include <hurd/fd.h>
|
||||
#include <hurd/term.h>
|
||||
@ -38,11 +39,9 @@ ptsname (int fd)
|
||||
}
|
||||
|
||||
|
||||
/* Store at most BUFLEN characters of the pathname of the slave pseudo
|
||||
terminal associated with the master FD is open on in BUF.
|
||||
Return 0 on success, otherwise an error number. */
|
||||
/* We don't need STP, but fill it for conformity with the Linux version... */
|
||||
int
|
||||
__ptsname_r (int fd, char *buf, size_t buflen)
|
||||
__ptsname_internal (int fd, char *buf, size_t buflen, struct stat64 *stp)
|
||||
{
|
||||
string_t peername;
|
||||
size_t len;
|
||||
@ -58,7 +57,23 @@ __ptsname_r (int fd, char *buf, size_t buflen)
|
||||
return ERANGE;
|
||||
}
|
||||
|
||||
if (stp)
|
||||
{
|
||||
if (__xstat64 (_STAT_VER, peername, stp) < 0)
|
||||
return errno;
|
||||
}
|
||||
|
||||
memcpy (buf, peername, len);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/* Store at most BUFLEN characters of the pathname of the slave pseudo
|
||||
terminal associated with the master FD is open on in BUF.
|
||||
Return 0 on success, otherwise an error number. */
|
||||
int
|
||||
__ptsname_r (int fd, char *buf, size_t buflen)
|
||||
{
|
||||
return __ptsname_internal (fd, buf, buflen, NULL);
|
||||
}
|
||||
weak_alias (__ptsname_r, ptsname_r)
|
||||
|
Loading…
Reference in New Issue
Block a user