diff options
| author | Mike Frysinger <vapier@gentoo.org> | 2005-11-23 12:53:58 +0000 | 
|---|---|---|
| committer | Mike Frysinger <vapier@gentoo.org> | 2005-11-23 12:53:58 +0000 | 
| commit | 26340613a0ee686d269e142ed75367a916e10311 (patch) | |
| tree | dde6bf863c3b20da269e24b9a118191b73a26f76 | |
| parent | aae806435c2d12dfd3ba179f5e72e70418909747 (diff) | |
sync with glibc
| -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;  | 
