diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2020-05-26 22:20:10 +0200 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2020-11-07 21:25:37 +0100 |
commit | aa11ab99530aea57fa2b8fa934a7c9dd0bfa9131 (patch) | |
tree | 0854c6e3691bbd9d3533fe8645ea192787405f40 /sysdeps/unix/bsd/getpt.c | |
parent | 34aec973e15a81926198f4b71ff99081dff87a92 (diff) | |
download | glibc-aa11ab99530aea57fa2b8fa934a7c9dd0bfa9131.tar.gz glibc-aa11ab99530aea57fa2b8fa934a7c9dd0bfa9131.tar.xz glibc-aa11ab99530aea57fa2b8fa934a7c9dd0bfa9131.zip |
Rearrange bsd_getpt vs bsd_openpt and implement posix_openpt on BSD
* sysdeps/unix/bsd/getpt.c (__getpt): Add oflag parameter, pass it to the _open call and rename to... (__bsd_openpt): ... new function. (__getpt): Reimplement on top of __bsd_openpt. (__posix_openpt): Replace stub with implementation on top of __bsd_openpt. (posix_openpt): Remove stub warning.
Diffstat (limited to 'sysdeps/unix/bsd/getpt.c')
-rw-r--r-- | sysdeps/unix/bsd/getpt.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/sysdeps/unix/bsd/getpt.c b/sysdeps/unix/bsd/getpt.c index 75489aef28..cdc3518fd7 100644 --- a/sysdeps/unix/bsd/getpt.c +++ b/sysdeps/unix/bsd/getpt.c @@ -41,7 +41,7 @@ const char __libc_ptyname2[] attribute_hidden = PTYNAME2; /* Open a master pseudo terminal and return its file descriptor. */ int -__getpt (void) +__bsd_openpt (int oflag) { char buf[sizeof (_PATH_PTY) + 2]; const char *p, *q; @@ -61,7 +61,7 @@ __getpt (void) s[1] = *q; - fd = __open (buf, O_RDWR); + fd = __open (buf, oflag); if (fd != -1) return fd; @@ -74,18 +74,16 @@ __getpt (void) return -1; } -#undef __getpt +int +__getpt (void) +{ + return __bsd_openpt (O_RDWR); +} weak_alias (__getpt, getpt) -#ifndef HAVE_POSIX_OPENPT -/* We cannot define posix_openpt in general for BSD systems. */ int __posix_openpt (int oflag) { - __set_errno (ENOSYS); - return -1; + return __bsd_openpt (oflag); } weak_alias (__posix_openpt, posix_openpt) - -stub_warning (posix_openpt) -#endif |