Parcourir la source

sync with glibc (grab some hidden updates) and fix some warnings

Mike Frysinger il y a 18 ans
Parent
commit
611d2eff25
4 fichiers modifiés avec 42 ajouts et 44 suppressions
  1. 15 17
      libc/stdlib/bsd_getpt.c
  2. 10 10
      libc/stdlib/getpt.c
  3. 4 4
      libc/stdlib/grantpt.c
  4. 13 13
      libc/stdlib/ptsname.c

+ 15 - 17
libc/stdlib/bsd_getpt.c

@@ -1,21 +1,21 @@
-/* Copyright (C) 1998, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002 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>
@@ -31,13 +31,13 @@
 #ifndef PTYNAME1
 #define PTYNAME1 "pqrsPQRS"
 #endif
-const char _ptyname1[] = PTYNAME1;
+const char __libc_ptyname1[] attribute_hidden = PTYNAME1;
 
 /* Letters indicating the position within a series.  */
 #ifndef PTYNAME2
 #define PTYNAME2 "0123456789abcdefghijklmnopqrstuv";
 #endif
-const char _ptyname2[] = PTYNAME2;
+const char __libc_ptyname2[] attribute_hidden = PTYNAME2;
 
 
 /* Open a master pseudo terminal and return its file descriptor.  */
@@ -48,17 +48,15 @@ __getpt (void)
   const char *p, *q;
   char *s;
 
-  __memcpy (buf, _PATH_PTY, sizeof (_PATH_PTY));
-  s = buf + __strlen (buf);
-
+  s = __mempcpy (buf, _PATH_PTY, sizeof (_PATH_PTY) - 1);
   /* s[0] and s[1] will be filled in the loop.  */
   s[2] = '\0';
 
-  for (p = _ptyname1; *p != '\0'; ++p)
+  for (p = __libc_ptyname1; *p != '\0'; ++p)
     {
       s[0] = *p;
 
-      for (q = _ptyname2; *q != '\0'; ++q)
+      for (q = __libc_ptyname2; *q != '\0'; ++q)
 	{
 	  int fd;
 
@@ -73,6 +71,6 @@ __getpt (void)
 	}
     }
 
-  errno = ENOENT;
+  __set_errno (ENOENT);
   return -1;
 }

+ 10 - 10
libc/stdlib/getpt.c

@@ -1,21 +1,21 @@
-/* Copyright (C) 1998, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999, 2001 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>
@@ -39,7 +39,7 @@
 
 #if !defined __UNIX98PTY_ONLY__
 /* Prototype for function that opens BSD-style master pseudo-terminals.  */
-int __bsd_getpt (void);
+extern int __bsd_getpt (void) attribute_hidden;
 #endif
 
 /* Open a master pseudo terminal and return its file descriptor.  */

+ 4 - 4
libc/stdlib/grantpt.c

@@ -45,15 +45,15 @@ static int pts_name (int fd, char **pts, size_t buf_len);
    terminal associated with the master pseudo terminal specified
    by FD.  */
 int
+#if !defined __ASSUME_DEVPTS__
 grantpt (int fd)
+#else
+grantpt (attribute_unused int fd)
+#endif
 {
 #if !defined __ASSUME_DEVPTS__
   struct statfs fsbuf;
-# ifdef PATH_MAX
   char _buf[PATH_MAX];
-# else
-  char _buf[512];
-# endif
   char *buf = _buf;
 
   if (pts_name (fd, &buf, sizeof (_buf)))

+ 13 - 13
libc/stdlib/ptsname.c

@@ -1,21 +1,21 @@
-/* Copyright (C) 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 2000, 2001, 2002 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.  */
 
 #define isatty __isatty
 
@@ -41,7 +41,7 @@
    || (major ((Dev)) == 4 && minor ((Dev)) >= 128 && minor ((Dev)) < 192)     \
    || (major ((Dev)) >= 128 && major ((Dev)) < 136))
 
-/* Check if DEV corresponds to a master pseudo terminal device.  */
+/* Check if DEV corresponds to a slave pseudo terminal device.  */
 #define SLAVE_P(Dev)                                                          \
   (major ((Dev)) == 3                                                         \
    || (major ((Dev)) == 4 && minor ((Dev)) >= 192 && minor ((Dev)) < 256)     \
@@ -53,8 +53,8 @@
    and 3 (slaves).  */
      
 /* The are declared in getpt.c.  */
-extern const char _ptyname1[];
-extern const char _ptyname2[];
+extern const char __libc_ptyname1[] attribute_hidden;
+extern const char __libc_ptyname2[] attribute_hidden;
 
 #endif
 
@@ -97,7 +97,7 @@ int attribute_hidden __ptsname_r (int fd, char *buf, size_t buflen)
 
       p = _int10tostr(&numbuf[sizeof numbuf - 1], ptyno);
 
-      if (buflen < sizeof devpts + &numbuf[sizeof numbuf - 1] - p)
+      if (buflen < sizeof(devpts) + (size_t)(&numbuf[sizeof(numbuf) - 1] - p))
 	{
 	  errno = ERANGE;
 	  return ERANGE;