summaryrefslogtreecommitdiff
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);