summary refs log tree commit diff
path: root/sysdeps/posix
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/posix')
-rw-r--r--sysdeps/posix/dup2.c11
-rw-r--r--sysdeps/posix/euidaccess.c7
-rw-r--r--sysdeps/posix/fdopen.c13
-rw-r--r--sysdeps/posix/flock.c9
-rw-r--r--sysdeps/posix/fpathconf.c25
-rw-r--r--sysdeps/posix/getcwd.c13
-rw-r--r--sysdeps/posix/gettimeofday.c2
-rw-r--r--sysdeps/posix/isatty.c10
-rw-r--r--sysdeps/posix/isfdtype.c2
-rw-r--r--sysdeps/posix/killpg.c9
-rw-r--r--sysdeps/posix/mkstemp.c10
-rw-r--r--sysdeps/posix/mktemp.c10
-rw-r--r--sysdeps/posix/pathconf.c6
-rw-r--r--sysdeps/posix/pipestream.c48
-rw-r--r--sysdeps/posix/remove.c4
-rw-r--r--sysdeps/posix/rename.c19
-rw-r--r--sysdeps/posix/sigintr.c10
-rw-r--r--sysdeps/posix/signal.c9
-rw-r--r--sysdeps/posix/sigsuspend.c14
-rw-r--r--sysdeps/posix/sigvec.c40
-rw-r--r--sysdeps/posix/sleep.c11
-rw-r--r--sysdeps/posix/sysconf.c2
-rw-r--r--sysdeps/posix/system.c18
-rw-r--r--sysdeps/posix/tempname.c12
-rw-r--r--sysdeps/posix/truncate.c10
-rw-r--r--sysdeps/posix/ttyname.c10
-rw-r--r--sysdeps/posix/ttyname_r.c6
-rw-r--r--sysdeps/posix/wait.c10
-rw-r--r--sysdeps/posix/wait3.c11
29 files changed, 189 insertions, 172 deletions
diff --git a/sysdeps/posix/dup2.c b/sysdeps/posix/dup2.c
index c0c6b2a0f6..8730172d46 100644
--- a/sysdeps/posix/dup2.c
+++ b/sysdeps/posix/dup2.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1993, 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 92, 93, 95, 96 Free Software Foundation, Inc.
 This file is part of the GNU C Library.
 
 The GNU C Library is free software; you can redistribute it and/or
@@ -16,7 +16,6 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <ansidecl.h>
 #include <errno.h>
 #include <fcntl.h>
 #include <limits.h>
@@ -26,7 +25,9 @@ Cambridge, MA 02139, USA.  */
 /* Duplicate FD to FD2, closing the old FD2 and making FD2 be
    open the same file as FD is.  Return FD2 or -1.  */
 int
-DEFUN(__dup2, (fd, fd2), int fd AND int fd2)
+__dup2 (fd, fd2)
+     int fd;
+     int fd2;
 {
   int save;
 
@@ -36,7 +37,7 @@ DEFUN(__dup2, (fd, fd2), int fd AND int fd2)
 #endif
 )
     {
-      errno = EBADF;
+      __set_errno (EBADF);
       return -1;
     }
 
@@ -51,7 +52,7 @@ DEFUN(__dup2, (fd, fd2), int fd AND int fd2)
 
   save = errno;
   (void) close (fd2);
-  errno = save;
+  __set_errno (save);
 
   return fcntl (fd, F_DUPFD, fd2);
 }
diff --git a/sysdeps/posix/euidaccess.c b/sysdeps/posix/euidaccess.c
index e50bdfbb8c..26f3af6374 100644
--- a/sysdeps/posix/euidaccess.c
+++ b/sysdeps/posix/euidaccess.c
@@ -1,5 +1,5 @@
 /* euidaccess -- check if effective user id can access file
-   Copyright (C) 1990, 1991, 1995 Free Software Foundation, Inc.
+   Copyright (C) 1990, 1991, 1995, 1996 Free Software Foundation, Inc.
 
 This file is part of the GNU C Library.
 
@@ -66,6 +66,9 @@ gid_t getegid ();
 #ifndef errno
 extern int errno;
 #endif
+#ifndef __set_errno
+#define __set_errno(val) errno = 8val)
+#endif
 
 #if defined(EACCES) && !defined(EACCESS)
 #define EACCESS EACCES
@@ -176,7 +179,7 @@ euidaccess (path, mode)
     granted = (stats.st_mode & mode);
   if (granted == mode)
     return 0;
-  errno = EACCESS;
+  __set_errno (EACCESS);
   return -1;
 }
 
diff --git a/sysdeps/posix/fdopen.c b/sysdeps/posix/fdopen.c
index ad746ec371..fb2bda8824 100644
--- a/sysdeps/posix/fdopen.c
+++ b/sysdeps/posix/fdopen.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1993, 1996 Free Software Foundation, Inc.
 This file is part of the GNU C Library.
 
 The GNU C Library is free software; you can redistribute it and/or
@@ -16,7 +16,6 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <ansidecl.h>
 #include <errno.h>
 #include <stdio.h>
 #include <fcntl.h>
@@ -26,7 +25,9 @@ extern int EXFUN(__getmode, (CONST char *mode, __io_mode *mptr));
 
 /* Open a new stream on a given system file descriptor.  */
 FILE *
-DEFUN(fdopen, (fd, mode), int fd AND CONST char *mode)
+fdopen (fd, mode)
+     int fd;
+     const char *mode;
 {
   register FILE *stream;
   __io_mode m;
@@ -48,14 +49,14 @@ DEFUN(fdopen, (fd, mode), int fd AND CONST char *mode)
     case O_RDONLY:
       if (!m.__read)
 	{
-	  errno = EBADF;
+	  __set_errno (EBADF);
 	  return NULL;
 	}
       break;
     case O_WRONLY:
       if (!m.__write)
 	{
-	  errno = EBADF;
+	  __set_errno (EBADF);
 	  return NULL;
 	}
       break;
@@ -65,7 +66,7 @@ DEFUN(fdopen, (fd, mode), int fd AND CONST char *mode)
   if (stream == NULL)
     return NULL;
 
-  stream->__cookie = (PTR) fd;
+  stream->__cookie = (void *) fd;
   stream->__mode = m;
 
   return stream;
diff --git a/sysdeps/posix/flock.c b/sysdeps/posix/flock.c
index b4c9fc3b79..15d348ae80 100644
--- a/sysdeps/posix/flock.c
+++ b/sysdeps/posix/flock.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1995, 1996 Free Software Foundation, Inc.
 This file is part of the GNU C Library.
 
 The GNU C Library is free software; you can redistribute it and/or
@@ -20,7 +20,6 @@ Cambridge, MA 02139, USA.  */
    locking mechanism.  In 4BSD, these are two incompatible locking mechanisms,
    perhaps with different semantics?  */
 
-#include <ansidecl.h>
 #include <errno.h>
 #include <unistd.h>
 #include <fcntl.h>
@@ -29,7 +28,9 @@ Cambridge, MA 02139, USA.  */
 /* Apply or remove an advisory lock, according to OPERATION,
    on the file FD refers to.  */
 int
-DEFUN(__flock, (fd, operation), int fd AND int operation)
+__flock (fd, operation)
+     int fd;
+     int operation;
 {
   struct flock lbuf;
 
@@ -45,7 +46,7 @@ DEFUN(__flock, (fd, operation), int fd AND int operation)
       lbuf.l_type = F_UNLCK;
       break;
     default:
-      errno = EINVAL;
+      __set_errno (EINVAL);
       return -1;
     }
 
diff --git a/sysdeps/posix/fpathconf.c b/sysdeps/posix/fpathconf.c
index 9b54b5f04a..1e7cba47ed 100644
--- a/sysdeps/posix/fpathconf.c
+++ b/sysdeps/posix/fpathconf.c
@@ -16,7 +16,6 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <ansidecl.h>
 #include <errno.h>
 #include <stddef.h>
 #include <unistd.h>
@@ -26,25 +25,27 @@ Cambridge, MA 02139, USA.  */
 
 /* Get file-specific information about descriptor FD.  */
 long int
-DEFUN(__fpathconf, (fd, name), int fd AND int name)
+__fpathconf (fd, name)
+     int fd;
+     int name;
 {
   if (fd < 0)
     {
-      errno = EBADF;
+      __set_errno (EBADF);
       return -1;
     }
 
   switch (name)
     {
     default:
-      errno = EINVAL;
+      __set_errno (EINVAL);
       return -1;
 
     case _PC_LINK_MAX:
 #ifdef	LINK_MAX
       return LINK_MAX;
 #else
-      errno = ENOSYS;
+      __set_errno (ENOSYS);
       return -1;
 #endif
 
@@ -52,7 +53,7 @@ DEFUN(__fpathconf, (fd, name), int fd AND int name)
 #ifdef	MAX_CANON
       return MAX_CANON;
 #else
-      errno = ENOSYS;
+      __set_errno (ENOSYS);
       return -1;
 #endif
 
@@ -60,7 +61,7 @@ DEFUN(__fpathconf, (fd, name), int fd AND int name)
 #ifdef	MAX_INPUT
       return MAX_INPUT;
 #else
-      errno = ENOSYS;
+      __set_errno (ENOSYS);
       return -1;
 #endif
 
@@ -68,7 +69,7 @@ DEFUN(__fpathconf, (fd, name), int fd AND int name)
 #ifdef	NAME_MAX
       return NAME_MAX;
 #else
-      errno = ENOSYS;
+      __set_errno (ENOSYS);
       return -1;
 #endif
 
@@ -83,7 +84,7 @@ DEFUN(__fpathconf, (fd, name), int fd AND int name)
 	  return buf.f_namelen;
       }
 #else
-      errno = ENOSYS;
+      __set_errno (ENOSYS);
       return -1;
 #endif
 
@@ -91,7 +92,7 @@ DEFUN(__fpathconf, (fd, name), int fd AND int name)
 #ifdef	PIPE_BUF
       return PIPE_BUF;
 #else
-      errno = ENOSYS;
+      __set_errno (ENOSYS);
       return -1;
 #endif
 
@@ -141,12 +142,12 @@ DEFUN(__fpathconf, (fd, name), int fd AND int name)
 #ifdef	SOCK_MAXBUF
       return SOCK_MAXBUF;
 #else
-      errno = ENOSYS;
+      __set_errno (ENOSYS);
       return -1;
 #endif
     }
 
-  errno = ENOSYS;
+  __set_errno (ENOSYS);
   return -1;
 }
 
diff --git a/sysdeps/posix/getcwd.c b/sysdeps/posix/getcwd.c
index 2d8011e276..a9536b95cf 100644
--- a/sysdeps/posix/getcwd.c
+++ b/sysdeps/posix/getcwd.c
@@ -45,6 +45,9 @@ Cambridge, MA 02139, USA.  */
 #if !defined(__GNU_LIBRARY__) && !defined(STDC_HEADERS)
 extern int errno;
 #endif
+#ifndef __set_errno
+#define __set_errno(val) errno = (val)
+#endif
 
 #ifndef	NULL
 #define	NULL	0
@@ -211,7 +214,7 @@ __getcwd (buf, size)
     {
       if (buf != NULL)
 	{
-	  errno = EINVAL;
+	  __set_errno (EINVAL);
 	  return NULL;
 	}
 
@@ -305,7 +308,7 @@ __getcwd (buf, size)
 		{
 		  int save = errno;
 		  (void) __closedir (dirstream);
-		  errno = save;
+		  __set_errno (save);
 		  goto lose;
 		}
 	      if (st.st_dev == thisdev && st.st_ino == thisino)
@@ -316,7 +319,7 @@ __getcwd (buf, size)
 	{
 	  int save = errno;
 	  (void) __closedir (dirstream);
-	  errno = save;
+	  __set_errno (save);
 	  goto lose;
 	}
       else
@@ -327,7 +330,7 @@ __getcwd (buf, size)
 	    {
 	      if (buf != NULL)
 		{
-		  errno = ERANGE;
+		  __set_errno (ERANGE);
 		  return NULL;
 		}
 	      else
@@ -338,7 +341,7 @@ __getcwd (buf, size)
 		    {
 		      (void) __closedir (dirstream);
 		      free (path);
-		      errno = ENOMEM; /* closedir might have changed it.  */
+		      __set_errno (ENOMEM);/* closedir might have changed it.*/
 		      return NULL;
 		    }
 		  pathp = &buf[pathp - path];
diff --git a/sysdeps/posix/gettimeofday.c b/sysdeps/posix/gettimeofday.c
index 3c079a5af2..9d4e07866d 100644
--- a/sysdeps/posix/gettimeofday.c
+++ b/sysdeps/posix/gettimeofday.c
@@ -37,7 +37,7 @@ __gettimeofday (tv, tz)
 {
   if (tv == NULL)
     {
-      errno = EINVAL;
+      __set_errno (EINVAL);
       return -1;
     }
 
diff --git a/sysdeps/posix/isatty.c b/sysdeps/posix/isatty.c
index 7536b1eeed..2dcae18f5b 100644
--- a/sysdeps/posix/isatty.c
+++ b/sysdeps/posix/isatty.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1995, 1996 Free Software Foundation, Inc.
 This file is part of the GNU C Library.
 
 The GNU C Library is free software; you can redistribute it and/or
@@ -16,22 +16,22 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <ansidecl.h>
 #include <errno.h>
 #include <unistd.h>
 #include <termios.h>
 
 /* Return 1 if FD is a terminal, 0 if not.  */
 int
-DEFUN(__isatty, (fd), int fd)
+__isatty (fd)
+     int fd;
 {
   int save;
   int is_tty;
   struct termios term;
 
   save = errno;
-  is_tty = __tcgetattr(fd, &term) == 0;
-  errno = save;
+  is_tty = __tcgetattr (fd, &term) == 0;
+  __set_errno (save);
 
   return is_tty;
 }
diff --git a/sysdeps/posix/isfdtype.c b/sysdeps/posix/isfdtype.c
index 9ac38a8b9f..8edcf594d8 100644
--- a/sysdeps/posix/isfdtype.c
+++ b/sysdeps/posix/isfdtype.c
@@ -30,7 +30,7 @@ isfdtype (int fildes, int fdtype)
   {
     int save_error = errno;
     result = fstat (fildes, &st);
-    errno = save_error;
+    __set_errno (save_error);
   }
 
   return result ?: (st.st_mode & S_IFMT) == fdtype;
diff --git a/sysdeps/posix/killpg.c b/sysdeps/posix/killpg.c
index 0c70dd2164..5197673cde 100644
--- a/sysdeps/posix/killpg.c
+++ b/sysdeps/posix/killpg.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1993 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1993, 1996 Free Software Foundation, Inc.
 This file is part of the GNU C Library.
 
 The GNU C Library is free software; you can redistribute it and/or
@@ -16,7 +16,6 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <ansidecl.h>
 #include <errno.h>
 #include <signal.h>
 
@@ -25,11 +24,13 @@ Cambridge, MA 02139, USA.  */
    If PGRP is zero, send SIG to all processes in
    the current process's process group.  */
 int
-DEFUN(killpg, (pgrp, sig), __pid_t pgrp AND int sig)
+killpg (pgrp, sig)
+     __pid_t pgrp;
+     int sig;
 {
   if (pgrp < 0)
     {
-      errno = EINVAL;
+      __set_errno (EINVAL);
       return -1;
     }
 
diff --git a/sysdeps/posix/mkstemp.c b/sysdeps/posix/mkstemp.c
index 9f4f68d72d..920136d416 100644
--- a/sysdeps/posix/mkstemp.c
+++ b/sysdeps/posix/mkstemp.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1996 Free Software Foundation, Inc.
 This file is part of the GNU C Library.
 
 The GNU C Library is free software; you can redistribute it and/or
@@ -16,7 +16,6 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <ansidecl.h>
 #include <string.h>
 #include <errno.h>
 #include <stdio.h>
@@ -28,9 +27,10 @@ Cambridge, MA 02139, USA.  */
    they are replaced with a string that makes the filename unique.
    Returns a file descriptor open on the file for reading and writing.  */
 int
-DEFUN(mkstemp, (template), char *template)
+mkstemp (template)
+     char *template;
 {
-  static CONST char letters[]
+  static const char letters[]
     = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
   size_t len;
   size_t i;
@@ -38,7 +38,7 @@ DEFUN(mkstemp, (template), char *template)
   len = strlen (template);
   if (len < 6 || strcmp (&template[len - 6], "XXXXXX"))
     {
-      errno = EINVAL;
+      __set_errno (EINVAL);
       return -1;
     }
 
diff --git a/sysdeps/posix/mktemp.c b/sysdeps/posix/mktemp.c
index c3aae36a7b..111206f663 100644
--- a/sysdeps/posix/mktemp.c
+++ b/sysdeps/posix/mktemp.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1993, 1996 Free Software Foundation, Inc.
 This file is part of the GNU C Library.
 
 The GNU C Library is free software; you can redistribute it and/or
@@ -16,7 +16,6 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <ansidecl.h>
 #include <string.h>
 #include <errno.h>
 #include <unistd.h>
@@ -28,9 +27,10 @@ Cambridge, MA 02139, USA.  */
    The last six characters of TEMPLATE must be "XXXXXX";
    they are replaced with a string that makes the filename unique.  */
 char *
-DEFUN(mktemp, (template), char *template)
+mktemp (template)
+     char *template;
 {
-  static CONST char letters[]
+  static const char letters[]
     = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
   size_t len;
   size_t i;
@@ -38,7 +38,7 @@ DEFUN(mktemp, (template), char *template)
   len = strlen (template);
   if (len < 6 || strcmp (&template[len - 6], "XXXXXX"))
     {
-      errno = EINVAL;
+      __set_errno (EINVAL);
       return NULL;
     }
 
diff --git a/sysdeps/posix/pathconf.c b/sysdeps/posix/pathconf.c
index 05cee5e5e0..9539957777 100644
--- a/sysdeps/posix/pathconf.c
+++ b/sysdeps/posix/pathconf.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1995, 1996 Free Software Foundation, Inc.
 This file is part of the GNU C Library.
 
 The GNU C Library is free software; you can redistribute it and/or
@@ -28,10 +28,10 @@ __pathconf (const char *path, int name)
   int fd = open (path, 0);
   if (fd >= 0)
     {
-      long int value = __fpathconf (0, name);
+      long int value = __fpathconf (fd, name);
       int save = errno;
       (void) close (fd);
-      errno = save;
+      __set_errno (save);
       return value;
     }
   return -1L;
diff --git a/sysdeps/posix/pipestream.c b/sysdeps/posix/pipestream.c
index 53595f5b54..539bf43302 100644
--- a/sysdeps/posix/pipestream.c
+++ b/sysdeps/posix/pipestream.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1993, 1996 Free Software Foundation, Inc.
 This file is part of the GNU C Library.
 
 The GNU C Library is free software; you can redistribute it and/or
@@ -16,7 +16,6 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <ansidecl.h>
 #include <errno.h>
 #include <stddef.h>
 #include <signal.h>
@@ -43,7 +42,7 @@ struct child
    original function with the original cookie.  */
 
 #define FUNC(type, name, args)						      \
-  static type DEFUN(__CONCAT(child_,name), args, __CONCAT(name,decl))	      \
+  static type __CONCAT(child_,name) args __CONCAT(name,decl))		      \
   {									      \
     struct child *c = (struct child *) cookie;				      \
     {									      \
@@ -52,15 +51,15 @@ struct child
     }									      \
   }
 
-#define readdecl PTR cookie AND register char *buf AND register size_t n
+#define readdecl void *cookie AND register char *buf AND register size_t n
 FUNC (int, read, (cookie, buf, n))
-#define writedecl PTR cookie AND register CONST char *buf AND register size_t n
+#define writedecl void *cookie AND register const char *buf AND register size_t n
 FUNC (int, write, (cookie, buf, n))
-#define seekdecl PTR cookie AND fpos_t *pos AND int whence
+#define seekdecl void *cookie AND fpos_t *pos AND int whence
 FUNC (int, seek, (cookie, pos, whence))
-#define closedecl PTR cookie
+#define closedecl void *cookie
 FUNC (int, close, (cookie))
-#define filenodecl PTR cookie
+#define filenodecl void *cookie
 FUNC (int, fileno, (cookie))
 
 static const __io_functions child_funcs
@@ -69,7 +68,9 @@ static const __io_functions child_funcs
 /* Open a new stream that is a one-way pipe to a
    child process running the given shell command.  */
 FILE *
-DEFUN(popen, (command, mode), CONST char *command AND CONST char *mode)
+popen (command, mode)
+     const char *command;
+     const char *mode;
 {
   pid_t pid;
   int pipedes[2];
@@ -78,12 +79,12 @@ DEFUN(popen, (command, mode), CONST char *command AND CONST char *mode)
 
   if (command == NULL || mode == NULL || (*mode != 'r' && *mode != 'w'))
     {
-      errno = EINVAL;
+      __set_errno (EINVAL);
       return NULL;
     }
 
   /* Create the pipe.  */
-  if (pipe(pipedes) < 0)
+  if (pipe (pipedes) < 0)
     return NULL;
 
   /* Fork off the child.  */
@@ -100,24 +101,24 @@ DEFUN(popen, (command, mode), CONST char *command AND CONST char *mode)
       /* We are the child side.  Make the write side of
 	 the pipe be stdin or the read side be stdout.  */
 
-      CONST char *new_argv[4];
+      const char *new_argv[4];
 
       if ((*mode == 'w' ? dup2(pipedes[STDIN_FILENO], STDIN_FILENO) :
-	  dup2(pipedes[STDOUT_FILENO], STDOUT_FILENO)) < 0)
-	_exit(127);
+	  dup2 (pipedes[STDOUT_FILENO], STDOUT_FILENO)) < 0)
+	_exit (127);
 
       /* Close the pipe descriptors.  */
-      (void) close(pipedes[STDIN_FILENO]);
-      (void) close(pipedes[STDOUT_FILENO]);
+      (void) close (pipedes[STDIN_FILENO]);
+      (void) close (pipedes[STDOUT_FILENO]);
 
       /* Exec the shell.  */
       new_argv[0] = SH_NAME;
       new_argv[1] = "-c";
       new_argv[2] = command;
       new_argv[3] = NULL;
-      (void) execve(SH_PATH, (char *CONST *) new_argv, environ);
+      (void) execve (SH_PATH, (char *CONST *) new_argv, environ);
       /* Die if it failed.  */
-      _exit(127);
+      _exit (127);
     }
 
   /* We are the parent side.  */
@@ -180,7 +181,7 @@ DEFUN(popen, (command, mode), CONST char *command AND CONST char *mode)
       while (dead > 0 && dead != pid);
     }
 #endif
-    errno = save;
+    __set_errno (save);
     return NULL;
   }
 }
@@ -188,15 +189,16 @@ DEFUN(popen, (command, mode), CONST char *command AND CONST char *mode)
 /* Close a stream opened by popen and return its status.
    Returns -1 if the stream was not opened by popen.  */
 int
-DEFUN(pclose, (stream), register FILE *stream)
+pclose (stream)
+     register FILE *stream;
 {
   struct child *c;
   pid_t pid, dead;
   int status;
 
-  if (!__validfp(stream) || !stream->__ispipe)
+  if (!__validfp (stream) || !stream->__ispipe)
     {
-      errno = EINVAL;
+      __set_errno (EINVAL);
       return -1;
     }
 
@@ -204,7 +206,7 @@ DEFUN(pclose, (stream), register FILE *stream)
   pid = c->pid;
   stream->__cookie = c->cookie;
   stream->__io_funcs = c->funcs;
-  free ((PTR) c);
+  free ((void *) c);
   stream->__ispipe = 0;
   if (fclose (stream))
     return -1;
diff --git a/sysdeps/posix/remove.c b/sysdeps/posix/remove.c
index 66414c9039..9999021087 100644
--- a/sysdeps/posix/remove.c
+++ b/sysdeps/posix/remove.c
@@ -1,5 +1,5 @@
 /* ANSI C `remove' function to delete a file or directory.  POSIX.1 version.
-Copyright (C) 1995 Free Software Foundation, Inc.
+Copyright (C) 1995, 1996 Free Software Foundation, Inc.
 This file is part of the GNU C Library.
 
 The GNU C Library is free software; you can redistribute it and/or
@@ -32,7 +32,7 @@ remove (file)
     return 0;
   else if (errno == ENOTDIR && __unlink (file) == 0)
     {
-      errno = save;
+      __set_errno (save);
       return 0;
     }
 
diff --git a/sysdeps/posix/rename.c b/sysdeps/posix/rename.c
index 3245f9cf9c..c318081bac 100644
--- a/sysdeps/posix/rename.c
+++ b/sysdeps/posix/rename.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1996 Free Software Foundation, Inc.
 This file is part of the GNU C Library.
 
 The GNU C Library is free software; you can redistribute it and/or
@@ -16,34 +16,35 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <ansidecl.h>
 #include <stdio.h>
 #include <unistd.h>
 #include <errno.h>
 
 /* Rename the file OLD to NEW.  */
 int
-DEFUN(rename, (old, new), CONST char *old AND CONST char *new)
+rename (old, new)
+     const char *old;
+     const char *new;
 {
   int save = errno;
-  if (__link(old, new) < 0)
+  if (__link (old, new) < 0)
     {
       if (errno == EEXIST)
 	{
 	  errno = save;
 	  /* Race condition, required for 1003.1 conformance.  */
-	  if (__unlink(new) < 0 ||
-	      __link(old, new) < 0)
+	  if (__unlink (new) < 0 ||
+	      __link (old, new) < 0)
 	    return -1;
 	}
       else
 	return -1;
     }
-  if (__unlink(old) < 0)
+  if (__unlink (old) < 0)
     {
       save = errno;
-      if (__unlink(new) == 0)
-	errno = save;
+      if (__unlink (new) == 0)
+	__set_errno (save);
       return -1;
     }
   return 0;
diff --git a/sysdeps/posix/sigintr.c b/sysdeps/posix/sigintr.c
index 441c643df8..37914e997d 100644
--- a/sysdeps/posix/sigintr.c
+++ b/sysdeps/posix/sigintr.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1994 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1994, 1996 Free Software Foundation, Inc.
 This file is part of the GNU C Library.
 
 The GNU C Library is free software; you can redistribute it and/or
@@ -16,7 +16,6 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <ansidecl.h>
 #include <stddef.h>
 #include <signal.h>
 #include <errno.h>
@@ -25,8 +24,9 @@ Cambridge, MA 02139, USA.  */
    (causing them to fail with EINTR); if INTERRUPT is zero, make system
    calls be restarted after signal SIG.  */
 int
-DEFUN(siginterrupt, (sig, interrupt),
-      int sig AND int interrupt)
+siginterrupt (sig, interrupt)
+     int sig;
+     int interrupt;
 {
 #ifdef	SA_RESTART
   extern sigset_t _sigintr;	/* Defined in signal.c.  */
@@ -51,7 +51,7 @@ DEFUN(siginterrupt, (sig, interrupt),
 
   return 0;
 #else
-  errno = ENOSYS;
+  __set_errno (ENOSYS);
   return -1;
 #endif
 }
diff --git a/sysdeps/posix/signal.c b/sysdeps/posix/signal.c
index f9ae47b6bb..9a8d2de0e4 100644
--- a/sysdeps/posix/signal.c
+++ b/sysdeps/posix/signal.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1996 Free Software Foundation, Inc.
 This file is part of the GNU C Library.
 
 The GNU C Library is free software; you can redistribute it and/or
@@ -16,7 +16,6 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <ansidecl.h>
 #include <errno.h>
 #include <signal.h>
 
@@ -26,13 +25,15 @@ sigset_t _sigintr;		/* Set by siginterrupt.  */
 /* Set the handler for the signal SIG to HANDLER,
    returning the old handler, or SIG_ERR on error.  */
 __sighandler_t
-DEFUN(signal, (sig, handler), int sig AND __sighandler_t handler)
+signal (sig, handler)
+     int sig;
+     __sighandler_t handler;
 {
   struct sigaction act, oact;
 
   if (handler == SIG_ERR)
     {
-      errno = EINVAL;
+      __set_errno (EINVAL);
       return SIG_ERR;
     }
 
diff --git a/sysdeps/posix/sigsuspend.c b/sysdeps/posix/sigsuspend.c
index 771315333a..49a55f38b4 100644
--- a/sysdeps/posix/sigsuspend.c
+++ b/sysdeps/posix/sigsuspend.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1996 Free Software Foundation, Inc.
 This file is part of the GNU C Library.
 
 The GNU C Library is free software; you can redistribute it and/or
@@ -16,7 +16,6 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <ansidecl.h>
 #include <errno.h>
 #include <signal.h>
 #include <stddef.h>
@@ -26,26 +25,27 @@ Cambridge, MA 02139, USA.  */
 /* Change the set of blocked signals to SET,
    wait until a signal arrives, and restore the set of blocked signals.  */
 int
-DEFUN(sigsuspend, (set), CONST sigset_t *set)
+sigsuspend (set)
+     const sigset_t *set;
 {
   sigset_t oset;
   int save;
 
   if (set == NULL)
     {
-      errno = EINVAL;
+      __set_errno (EINVAL);
       return -1;
     }
 
-  if (sigprocmask(SIG_SETMASK, set, &oset) < 0)
+  if (sigprocmask (SIG_SETMASK, set, &oset) < 0)
     return -1;
 
   (void) pause();
   save = errno;
 
-  if (sigprocmask(SIG_SETMASK, &oset, (sigset_t *) NULL) < 0)
+  if (sigprocmask (SIG_SETMASK, &oset, (sigset_t *) NULL) < 0)
     return -1;
 
-  errno = save;
+  __set_errno (save);
   return -1;
 }
diff --git a/sysdeps/posix/sigvec.c b/sysdeps/posix/sigvec.c
index 4aef22ae32..6a224e1733 100644
--- a/sysdeps/posix/sigvec.c
+++ b/sysdeps/posix/sigvec.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1994, 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 92, 94, 95, 96 Free Software Foundation, Inc.
 This file is part of the GNU C Library.
 
 The GNU C Library is free software; you can redistribute it and/or
@@ -16,7 +16,6 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <ansidecl.h>
 #include <signal.h>
 #include <errno.h>
 #include <stddef.h>
@@ -28,7 +27,8 @@ static __sighandler_t wrapped_handlers[NSIG];
 static sigset_t wrapped_masks[NSIG];
 
 static void
-DEFUN(wrapper_handler, (sig), int sig)
+wrapper_handler (sig)
+     int sig;
 {
   int save;
   struct sigaction act;
@@ -37,33 +37,31 @@ DEFUN(wrapper_handler, (sig), int sig)
   act.sa_mask = wrapped_masks[sig];
   act.sa_flags = 0;
   save = errno;
-  (void) __sigaction(sig, &act, (struct sigaction *) NULL);
-  errno = save;
+  (void) __sigaction (sig, &act, (struct sigaction *) NULL);
+  __set_errno (save);
 
-  (*wrapped_handlers[sig])(sig);
+  (*wrapped_handlers[sig]) (sig);
 }
 
-static
-#ifdef	__GNUC__
-inline
-#endif
-int
-DEFUN(convert_mask, (set, mask), sigset_t *set AND CONST int mask)
+static inline int
+convert_mask (set, mask)
+     sigset_t *set;
+     const int mask;
 {
   register int sig;
 
-  if (sizeof(*set) == sizeof(mask))
+  if (sizeof (*set) == sizeof (mask))
     {
       *(int *) set = mask;
       return 0;
     }
 
-  if (__sigemptyset(set) < 0)
+  if (__sigemptyset (set) < 0)
     return -1;
 
   for (sig = 1; sig < NSIG; ++sig)
-    if (mask & sigmask(sig))
-      if (__sigaddset(set, sig) < 0)
+    if (mask & sigmask (sig))
+      if (__sigaddset (set, sig) < 0)
 	return -1;
 
   return 0;
@@ -75,8 +73,10 @@ DEFUN(convert_mask, (set, mask), sigset_t *set AND CONST int mask)
    reset to SIG_DFL before `sv_handler' is entered.  If OVEC is non-NULL,
    it is filled in with the old information for SIG.  */
 int
-DEFUN(__sigvec, (sig, vec, ovec),
-      int sig AND CONST struct sigvec *vec AND struct sigvec *ovec)
+__sigvec (sig, vec, ovec)
+     int sig;
+     const struct sigvec *vec;
+     struct sigvec *ovec;
 {
   struct sigaction old;
 
@@ -93,13 +93,13 @@ DEFUN(__sigvec, (sig, vec, ovec),
 	  if (convert_mask (&n->sa_mask, vec->sv_mask) < 0)
 	    return -1;
 	  n->sa_flags = 0;
-	  
+
 	  if (vec->sv_flags & SV_ONSTACK)
 	    {
 #ifdef SA_ONSTACK
 	      n->sa_flags |= SA_ONSTACK;
 #else
-	      errno = ENOSYS;
+	      __set_errno (ENOSYS);
 	      return -1;
 #endif
 	    }
diff --git a/sysdeps/posix/sleep.c b/sysdeps/posix/sleep.c
index 20f78a08bb..fd63a4bf69 100644
--- a/sysdeps/posix/sleep.c
+++ b/sysdeps/posix/sleep.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1993, 1996 Free Software Foundation, Inc.
 This file is part of the GNU C Library.
 
 The GNU C Library is free software; you can redistribute it and/or
@@ -16,7 +16,6 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <ansidecl.h>
 #include <signal.h>
 #include <time.h>
 #include <unistd.h>
@@ -26,7 +25,8 @@ Cambridge, MA 02139, USA.  */
 /* SIGALRM signal handler for `sleep'.  This does nothing but return,
    but SIG_IGN isn't supposed to break `pause'.  */
 static void
-DEFUN(sleep_handler, (sig), int sig)
+sleep_handler (sig)
+     int sig;
 {
   return;
 }
@@ -39,7 +39,8 @@ DEFUN(sleep_handler, (sig), int sig)
    signal afterwards is undefined.  There is no return value to indicate
    error, but if `sleep' returns SECONDS, it probably didn't work.  */
 unsigned int
-DEFUN(sleep, (seconds), unsigned int seconds)
+sleep (seconds)
+     unsigned int seconds;
 {
   unsigned int remaining, slept;
   time_t before, after;
@@ -100,7 +101,7 @@ DEFUN(sleep, (seconds), unsigned int seconds)
 
   /* Restore the `errno' value we started with.
      Some of the calls we made might have failed, but we didn't care.  */
-  errno = save;
+  __set_errno (save);
 
   return slept > seconds ? 0 : seconds - slept;
 }
diff --git a/sysdeps/posix/sysconf.c b/sysdeps/posix/sysconf.c
index 14ee58cafb..9660724a39 100644
--- a/sysdeps/posix/sysconf.c
+++ b/sysdeps/posix/sysconf.c
@@ -37,7 +37,7 @@ __sysconf (name)
   switch (name)
     {
     default:
-      errno = EINVAL;
+      __set_errno (EINVAL);
       return -1;
 
     case _SC_ARG_MAX:
diff --git a/sysdeps/posix/system.c b/sysdeps/posix/system.c
index da58be51ae..b1a685c29a 100644
--- a/sysdeps/posix/system.c
+++ b/sysdeps/posix/system.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1994, 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 92, 94, 95, 96 Free Software Foundation, Inc.
 This file is part of the GNU C Library.
 
 The GNU C Library is free software; you can redistribute it and/or
@@ -16,7 +16,6 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <ansidecl.h>
 #include <stddef.h>
 #include <stdlib.h>
 #include <unistd.h>
@@ -35,7 +34,7 @@ Cambridge, MA 02139, USA.  */
 
 /* Execute LINE as a shell command, returning its status.  */
 int
-DEFUN(system, (line), register CONST char *line)
+__libc_system (const char *line)
 {
   int status, save;
   pid_t pid;
@@ -57,7 +56,7 @@ DEFUN(system, (line), register CONST char *line)
     {
       save = errno;
       (void) __sigaction (SIGINT, &intr, (struct sigaction *) NULL);
-      errno = save;
+      __set_errno (save);
       return -1;
     }
 
@@ -74,13 +73,13 @@ DEFUN(system, (line), register CONST char *line)
   if (__sigprocmask (SIG_BLOCK, &block, &omask) < 0)
     {
       if (errno == ENOSYS)
-	errno = save;
+	__set_errno (save);
       else
 	{
 	  save = errno;
 	  (void) __sigaction (SIGINT, &intr, (struct sigaction *) NULL);
 	  (void) __sigaction (SIGQUIT, &quit, (struct sigaction *) NULL);
-	  errno = save;
+	  __set_errno (save);
 	  return -1;
 	}
     }
@@ -93,7 +92,7 @@ DEFUN(system, (line), register CONST char *line)
   if (pid == (pid_t) 0)
     {
       /* Child side.  */
-      CONST char *new_argv[4];
+      const char *new_argv[4];
       new_argv[0] = SHELL_NAME;
       new_argv[1] = "-c";
       new_argv[2] = line;
@@ -105,7 +104,7 @@ DEFUN(system, (line), register CONST char *line)
       (void) UNBLOCK;
 
       /* Exec the shell.  */
-      (void) __execve (SHELL_PATH, (char *CONST *) new_argv, __environ);
+      (void) __execve (SHELL_PATH, (char *const *) new_argv, __environ);
       _exit (127);
     }
   else if (pid < (pid_t) 0)
@@ -137,10 +136,11 @@ DEFUN(system, (line), register CONST char *line)
        UNBLOCK) != 0)
     {
       if (errno == ENOSYS)
-	errno = save;
+	__set_errno (save);
       else
 	return -1;
     }
 
   return status;
 }
+weak_alias (__libc_system, system)
diff --git a/sysdeps/posix/tempname.c b/sysdeps/posix/tempname.c
index 0f088ec915..6fd698e2b8 100644
--- a/sysdeps/posix/tempname.c
+++ b/sysdeps/posix/tempname.c
@@ -56,7 +56,7 @@ exists (const char *file)
 	 trouble, while reporting that it doesn't exist when it does would
 	 violate the interface of __stdio_gen_tempname.  */
       int exists = errno != ENOENT;
-      errno = save;
+      __set_errno (save);
       return exists;
     }
 }
@@ -106,7 +106,7 @@ __stdio_gen_tempname (const char *dir, const char *pfx, int dir_search,
 	d = "/tmp";
       if (d == NULL)
 	{
-	  errno = ENOENT;
+	  __set_errno (ENOENT);
 	  return NULL;
 	}
       dir = d;
@@ -186,7 +186,7 @@ __stdio_gen_tempname (const char *dir, const char *pfx, int dir_search,
 		lose:
 		  (void) remove (buf);
 		  (void) __close (fd);
-		  errno = save;
+		  __set_errno (save);
 		  return NULL;
 		}
 	      _IO_init (&fp->file, 0);
@@ -214,7 +214,7 @@ __stdio_gen_tempname (const char *dir, const char *pfx, int dir_search,
 		  const int save = errno;
 		  (void) remove (buf);
 		  (void) __close (fd);
-		  errno = save;
+		  __set_errno (save);
 		  return NULL;
 		}
 	      (*streamptr)->__cookie = (__ptr_t) (long int) fd;
@@ -232,7 +232,7 @@ __stdio_gen_tempname (const char *dir, const char *pfx, int dir_search,
       /* If the file already existed we have continued the loop above,
 	 so we only get here when we have a winning name to return.  */
 
-      errno = saverrno;
+      __set_errno (saverrno);
 
       if (lenptr != NULL)
 	*lenptr = len + 1;
@@ -240,6 +240,6 @@ __stdio_gen_tempname (const char *dir, const char *pfx, int dir_search,
     }
 
   /* We got out of the loop because we ran out of combinations to try.  */
-  errno = EEXIST;		/* ? */
+  __set_errno (EEXIST);		/* ? */
   return NULL;
 }
diff --git a/sysdeps/posix/truncate.c b/sysdeps/posix/truncate.c
index 4f4c07e1df..2ab5d66ee9 100644
--- a/sysdeps/posix/truncate.c
+++ b/sysdeps/posix/truncate.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996 Free Software Foundation, Inc.
 This file is part of the GNU C Library.
 
 The GNU C Library is free software; you can redistribute it and/or
@@ -16,7 +16,6 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <ansidecl.h>
 #include <sys/types.h>
 #include <errno.h>
 #include <unistd.h>
@@ -24,8 +23,9 @@ Cambridge, MA 02139, USA.  */
 
 /* Truncate PATH to LENGTH bytes.  */
 int
-DEFUN(truncate, (path, length),
-      CONST char *path AND off_t length)
+truncate (path, length)
+     const char *path;
+     off_t length;
 {
   int fd, ret, save;
 
@@ -37,6 +37,6 @@ DEFUN(truncate, (path, length),
   save = errno;
   (void) close (fd);
   if (ret < 0)
-    errno = save;
+    __set_errno (save);
   return ret;
 }
diff --git a/sysdeps/posix/ttyname.c b/sysdeps/posix/ttyname.c
index 7c7ed2428a..be82827d00 100644
--- a/sysdeps/posix/ttyname.c
+++ b/sysdeps/posix/ttyname.c
@@ -16,7 +16,6 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <ansidecl.h>
 #include <errno.h>
 #include <limits.h>
 #include <stddef.h>
@@ -32,9 +31,10 @@ char *__ttyname = NULL;
 /* Return the pathname of the terminal FD is open on, or NULL on errors.
    The returned storage is good only until the next call to this function.  */
 char *
-DEFUN(ttyname, (fd), int fd)
+ttyname (fd)
+     int fd;
 {
-  static CONST char dev[] = "/dev";
+  static const char dev[] = "/dev";
   static char *name;
   static size_t namelen = 0;
   struct stat st;
@@ -75,12 +75,12 @@ DEFUN(ttyname, (fd), int fd)
 	  {
 	    (void) closedir (dirstream);
 	    __ttyname = name;
-	    errno = save;
+	    __set_errno (save);
 	    return name;
 	  }
       }
 
   (void) closedir (dirstream);
-  errno = save;
+  __set_errno (save);
   return NULL;
 }
diff --git a/sysdeps/posix/ttyname_r.c b/sysdeps/posix/ttyname_r.c
index e6172f1c97..1fb4b047d4 100644
--- a/sysdeps/posix/ttyname_r.c
+++ b/sysdeps/posix/ttyname_r.c
@@ -50,7 +50,7 @@ __ttyname_r (fd, buf, buflen)
      the loop.  */
   if (buflen < (int) (sizeof (dev) + 1))
     {
-      errno = EINVAL;
+      __set_errno (EINVAL);
       return -1;
     }
 
@@ -83,13 +83,13 @@ __ttyname_r (fd, buf, buflen)
 	if (stat (buf, &st) == 0 && st.st_dev == mydev)
 	  {
 	    (void) closedir (dirstream);
-	    errno = save;
+	    __set_errno (save);
 	    return 0;
 	  }
       }
 
   (void) closedir (dirstream);
-  errno = save;
+  __set_errno (save);
   return -1;
 }
 weak_alias (__ttyname_r, ttyname_r)
diff --git a/sysdeps/posix/wait.c b/sysdeps/posix/wait.c
index 38891c7e01..813c595e1d 100644
--- a/sysdeps/posix/wait.c
+++ b/sysdeps/posix/wait.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1995, 1996 Free Software Foundation, Inc.
 This file is part of the GNU C Library.
 
 The GNU C Library is free software; you can redistribute it and/or
@@ -16,16 +16,16 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <ansidecl.h>
 #include <sys/wait.h>
 
 
 /* Wait for a child to die.  When one does, put its status in *STAT_LOC
    and return its process ID.  For errors, return (pid_t) -1.  */
 __pid_t
-DEFUN(__wait, (stat_loc), __WAIT_STATUS_DEFN stat_loc)
+__libc_wait (__WAIT_STATUS_DEFN stat_loc)
 {
-  return __waitpid(WAIT_ANY, (int *) stat_loc, 0);
+  return __waitpid (WAIT_ANY, (int *) stat_loc, 0);
 }
 
-weak_alias (__wait, wait)
+weak_alias (__libc_wait, __wait)
+weak_alias (__libc_wait, wait)
diff --git a/sysdeps/posix/wait3.c b/sysdeps/posix/wait3.c
index 5eb084a7c9..f805f10b7d 100644
--- a/sysdeps/posix/wait3.c
+++ b/sysdeps/posix/wait3.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1993, 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1993, 1995, 1996 Free Software Foundation, Inc.
 This file is part of the GNU C Library.
 
 The GNU C Library is free software; you can redistribute it and/or
@@ -16,7 +16,6 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <ansidecl.h>
 #include <errno.h>
 #include <sys/wait.h>
 #include <sys/types.h>
@@ -28,12 +27,14 @@ Cambridge, MA 02139, USA.  */
    there.  If the WUNTRACED bit is set in OPTIONS, return status for stopped
    children; otherwise don't.  */
 pid_t
-DEFUN(__wait3, (stat_loc, options, usage),
-      __WAIT_STATUS_DEFN stat_loc AND int options AND struct rusage *usage)
+__wait3 (stat_loc, options, usage)
+     __WAIT_STATUS_DEFN stat_loc;
+     int options;
+     struct rusage *usage;
 {
   if (usage != NULL)
     {
-      errno = ENOSYS;
+      __set_errno (ENOSYS);
       return (pid_t) -1;
     }
   return __waitpid (WAIT_ANY, stat_loc, options);