diff options
-rw-r--r-- | libutil/forkpty.c | 69 | ||||
-rw-r--r-- | libutil/logout.c | 21 | ||||
-rw-r--r-- | libutil/logwtmp.c | 35 | ||||
-rw-r--r-- | libutil/openpty.c | 20 |
4 files changed, 75 insertions, 70 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; } } diff --git a/libutil/logout.c b/libutil/logout.c index cf964e4dd..165077e1d 100644 --- a/libutil/logout.c +++ b/libutil/logout.c @@ -1,21 +1,21 @@ -/* Copyright (C) 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 2002 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996. 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. */ #include <errno.h> #include <string.h> @@ -30,7 +30,8 @@ logout (const char *line) int result = 0; /* Tell that we want to use the UTMP file. */ - utmpname (_PATH_UTMP); + if (utmpname (_PATH_UTMP) == -1) + return 0; /* Open UTMP file. */ setutent (); diff --git a/libutil/logwtmp.c b/libutil/logwtmp.c index 35d809d96..85721a72d 100644 --- a/libutil/logwtmp.c +++ b/libutil/logwtmp.c @@ -1,21 +1,22 @@ /* wtmp support rubbish (i.e. complete crap) - * - * Written by Erik Andersen <andersee@debian.org> - * - * This 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. - * - * This 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. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; see the file COPYING.LIB. If not, - * write to the Free Software Foundation, Inc., 675 Mass Ave, - * Cambridge, MA 02139, USA. */ + + Written by Erik Andersen <andersee@debian.org> + + The GNU C Library is free software + This library is free software; you can redistribute it and/or + 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 + Lesser General Public License for more details. + + 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. */ #include <string.h> #include <sys/time.h> diff --git a/libutil/openpty.c b/libutil/openpty.c index c33407143..ac3e496ed 100644 --- a/libutil/openpty.c +++ b/libutil/openpty.c @@ -1,21 +1,21 @@ -/* Copyright (C) 1998, 1999 Free Software Foundation, Inc. +/* Copyright (C) 1998, 1999, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. 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. */ #include <errno.h> #include <fcntl.h> @@ -72,7 +72,7 @@ pts_name (int fd, char **pts, size_t buf_len) if (! new_buf) { rv = -1; - errno = ENOMEM; + __set_errno (ENOMEM); break; } buf = new_buf; |