Add ptsname_r(3).

This commit is contained in:
Jonas 'Sortie' Termansen 2016-11-19 21:38:20 +01:00
parent 1f742d521c
commit 52ea22d793
3 changed files with 31 additions and 0 deletions

View File

@ -538,6 +538,7 @@ stdlib/mkstemps.o \
stdlib/on_exit.o \
stdlib/posix_openpt.o \
stdlib/ptsname.o \
stdlib/ptsname_r.o \
stdlib/rand.o \
stdlib/realpath.o \
stdlib/setenv.o \

View File

@ -183,6 +183,7 @@ uint32_t arc4random(void);
void arc4random_buf(void*, size_t);
uint32_t arc4random_uniform(uint32_t);
void* reallocarray(void*, size_t, size_t);
int ptsname_r(int, char*, size_t);
#endif
#ifdef __cplusplus

29
libc/stdlib/ptsname_r.c Normal file
View File

@ -0,0 +1,29 @@
/*
* Copyright (c) 2016 Jonas 'Sortie' Termansen.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* unistd/ptsname_r.c
* Returns the path of a pseudoterminal master's slave.
*/
#include <errno.h>
#include <stdlib.h>
#include <unistd.h>
int ptsname_r(int fd, char* path, size_t path_size)
{
if ( ttyname_r(fd, path, path_size) < 0 )
return errno;
return 0;
}