diff options
Diffstat (limited to 'libutil/forkpty.c')
-rw-r--r-- | libutil/forkpty.c | 69 |
1 files changed, 36 insertions, 33 deletions
diff --git a/libutil/forkpty.c b/libutil/forkpty.c index 82ce8ba27..6843221cd 100644 --- a/libutil/forkpty.c +++ b/libutil/forkpty.c @@ -3,19 +3,22 @@ Contributed by Zack Weinberg <zack@rabi.phys.columbia.edu>, 1998. The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. + Lesser General Public License for more details. - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If not, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#define openpty __openpty +#define login_tty __login_tty #include <sys/types.h> #include <termios.h> @@ -23,34 +26,34 @@ #include <utmp.h> #include <pty.h> -extern int __openpty (int *amaster, int *aslave, char *name, struct termios *termp, - struct winsize *winp) attribute_hidden; -extern int __login_tty(int fd) attribute_hidden; - -int forkpty (int *amaster, char *name, - struct termios *termp, struct winsize *winp) +int +forkpty (amaster, name, termp, winp) + int *amaster; + char *name; + struct termios *termp; + struct winsize *winp; { - int master, slave, pid; + int master, slave, pid; - if (__openpty (&master, &slave, name, termp, winp) == -1) - return -1; + if (openpty (&master, &slave, name, termp, winp) == -1) + return -1; - switch (pid = fork ()) + switch (pid = fork ()) { - case -1: - return -1; - case 0: - /* Child. */ - close (master); - if (__login_tty (slave)) - _exit (1); - - return 0; - default: - /* Parent. */ - *amaster = master; - close (slave); - - return pid; + case -1: + return -1; + case 0: + /* Child. */ + close (master); + if (login_tty (slave)) + _exit (1); + + return 0; + default: + /* Parent. */ + *amaster = master; + close (slave); + + return pid; } } |