diff options
Diffstat (limited to 'sysdeps/posix')
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); |