From 50304ef0572fb41ba853262046dc7594f6a15241 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Thu, 16 Jul 1998 11:44:36 +0000 Subject: Update. 1998-07-16 10:23 Ulrich Drepper * argp/argp-fmtstream.c: Unify names of used global functions. * argp/argp-help.c: Likewise. * assert/assert-perr.c: Likewise * assert/assert.c: Likewise * dirent/scandir.c: Likewise * dirent/scandir64.c: Likewise * dirent/versionsort.c: Likewise * dirent/versionsort64.c: Likewise * gmon/bb_exit_func.c: Likewise. * gmon/gmon.c: Likewise. * grp/initgroups.c: Likewise. * iconv/gconv_conf.c: Likewise. * inet/getnameinfo.c: Likewise. * inet/getnetgrent_r.c: Likewise. * inet/inet_ntoa.c: Likewise. * inet/rcmd.c: Likewise. * inet/rexec.c: Likewise. * inet/ruserpass.c: Likewise. * io/fts.c: Likewise. * io/ftw.c: Likewise. * io/ftw64.c: Likewise. * io/getdirname.c: Likewise. * io/getwd.c: Likewise. * io/lockf.c: Likewise. * libio/iofdopen.c: Likewise. * libio/iopopen.c: Likewise. * login/utmp_daemon.c: Likewise. * malloc/mtrace.c: Likewise. * malloc/obstack.c * misc/daemon.c: Likewise. * misc/efgcvt_r.c: Likewise. * misc/err.c: Likewise. * misc/error.c: Likewise. * misc/fstab.c: Likewise. * misc/getpass.c: Likewise. * misc/getttyent.c: Likewise. * misc/mntent_r.c: Likewise. * misc/search.h: Likewise. * misc/syslog.c: Likewise. * nscd/nscd_getgr_r.c: Likewise. * nscd/nscd_getpw_r.c: Likewise. * posix/getpgrp.c: Likewise. * posix/wordexp.c: Likewise. * pwd/fgetpwent_r.c: Likewise. * pwd/getpw.c: Likewise. * resolv/herror.c: Likewise. * resolv/res_init.c: Likewise. * shadow/fgetspent_r.c: Likewise. * shadow/lckpwdf.c: Likewise. * signal/sigrelse.c: Likewise. * stdio-common/asprintf.c: Likewise. * stdio-common/dprintf.c: Likewise. * stdio-common/getw.c: Likewise. * stdio-common/putw.c: Likewise. * stdio-common/snprintf.c: Likewise. * stdio-common/sprintf.c: Likewise. * stdio-common/sscanf.c: Likewise. * stdlib/lrand48_r.c: Likewise. * stdlib/mrand48_r.c: Likewise. * string/argz-replace.c: Likewise. * string/envz.c: Likewise. * sunrpc/auth_des.c: Likewise. * sunrpc/auth_unix.c: Likewise. * sunrpc/bindrsvprt.c: Likewise. * sunrpc/clnt_gen.c: Likewise. * sunrpc/clnt_perr.c: Likewise. * sunrpc/clnt_simp.c: Likewise. * sunrpc/clnt_tcp.c: Likewise. * sunrpc/clnt_udp.c: Likewise. * sunrpc/get_myaddr.c: Likewise. * sunrpc/key_call.c: Likewise. * sunrpc/netname.c: Likewise. * sunrpc/openchild.c: Likewise. * sunrpc/pmap_rmt.c: Likewise. * sunrpc/rpc_dtable.c: Likewise. * sunrpc/rtime.c: Likewise. * sunrpc/svc_run.c: Likewise. * sunrpc/svc_simple.c: Likewise. * sunrpc/svc_tcp.c: Likewise. * sunrpc/svc_udp.c: Likewise. * sunrpc/svcauth_des.c: Likewise. * sunrpc/xdr_array.c: Likewise. * sunrpc/xdr_rec.c: Likewise. * sunrpc/xdr_ref.c: Likewise. * sunrpc/xdr_stdio.c: Likewise. * sysdeps/generic/abort.c: Likewise. * sysdeps/generic/dl-sysdep.c: Likewise. * sysdeps/generic/fstatfs64.c: Likewise. * sysdeps/generic/ftruncate64.c: Likewise. * sysdeps/generic/getrlimit64.c: Likewise. * sysdeps/generic/glob.c: Likewise. * sysdeps/generic/prof-freq.c: Likewise. * sysdeps/generic/putenv.c: Likewise. * sysdeps/generic/statfs64.c: Likewise. * sysdeps/generic/ttyname_r.c: Likewise. * sysdeps/generic/utmp_file.c: Likewise. * sysdeps/generic/vlimit.c: Likewise. * sysdeps/generic/vtimes.c: Likewise. * sysdeps/posix/cuserid.c: Likewise. * sysdeps/posix/euidaccess.c: Likewise. * sysdeps/posix/mkstemp.c: Likewise. * sysdeps/posix/mktemp.c: Likewise. * sysdeps/posix/pread.c: Likewise. * sysdeps/posix/pread64.c: Likewise. * sysdeps/posix/profil.c: Likewise. * sysdeps/posix/pwrite.c: Likewise. * sysdeps/posix/pwrite64.c: Likewise. * sysdeps/posix/sigblock.c: Likewise. * sysdeps/posix/sigpause.c: Likewise. * sysdeps/posix/ttyname.c: Likewise. * sysdeps/posix/ttyname_r.c: Likewise. * sysdeps/posix/waitid.c: Likewise. * sysdeps/unix/getlogin_r.c: Likewise. * sysdeps/unix/grantpt.c: Likewise. * sysdeps/unix/rewinddir.c: Likewise. * sysdeps/unix/sysv/linux/gethostid.c: Likewise. * sysdeps/unix/sysv/linux/getpt.c: Likewise. * sysdeps/unix/sysv/linux/if_index.c: Likewise. * sysdeps/unix/sysv/linux/ptsname.c: Likewise. * sysdeps/unix/sysv/linux/sendmsg.c: Likewise. * sysdeps/unix/sysv/linux/statvfs.c: Likewise. * sysdeps/unix/sysv/linux/ttyname.c: Likewise. * sysdeps/unix/sysv/linux/ttyname_r.c: Likewise. * sysdeps/unix/sysv/linux/ulimit.c: Likewise. * sysdeps/unix/sysv/linux/unlockpt.c: Likewise. * sysvipc/sys/shm.h: Likewise. * time/ctime_r.c: Likewise. * time/strptime.c: Likewise. * wcsmbs/mbrlen.c: Likewise. * wcsmbs/wcsdup.c: Likewise. * wcsmbs/wcsxfrm.c: Likewise. * wctype/wcfuncs.c: Likewise. * sysdeps/unix/sysv/linux/i386/socker.S: Change to honor NO_WEAK_ALIAS. * sysdeps/unix/sysv/linux/accept.S: Don't generate __ name. * sysdeps/unix/sysv/linux/bind.S: Likewise. * sysdeps/unix/sysv/linux/getsockname.S: Likewise. * sysdeps/unix/sysv/linux/listen.S: Likewise. * sysdeps/unix/sysv/linux/recvfrom.S: Likewise. * sysdeps/unix/sysv/linux/sendto.S: Likewise. * sysdeps/unix/sysv/linux/setsockopt.S: Likewise. * grp/fgetgrent_r.c: Use explicit locking of the stream. * elf/Makefile (rtld-routines): Add dl-environ. * sysdeps/generic/dl-environ.c: New file. * libio/Makefile [REENTRANT] (routines): Add iofputs_u. * libio/Versions: Add fputs_unlocked. * libio/iofputs_u.c: New file. * libio/stdio.h: Add prototype for fputs_unlocked. * sunrpc/rpc/auth.h: Use __PMT instead of __P in type definitions. * sunrpc/rpc/clnt.h: Likewise. * sunrpc/rpc/pmap_clnt.h: Likewise. * sunrpc/rpc/svc.h: Likewise. * sunrpc/rpc/xdr.h: Likewise. * sysdeps/i386/memchr.S: Correct for more strict gas. * sysdeps/i386/fpu/bits/mathinline.h: Likewise. * sysdeps/libm-i387/i686/s_fdim.S: Likewise. * sysdeps/libm-i387/i686/s_fdimf.S: Likewise. * sysdeps/libm-i387/i686/s_fdiml.S: Likewise. 1998-07-15 Andreas Jaeger * configure.in: Change message for binutils version from 2.8.1.0.17->2.8.1.0.23. 1998-07-15 Ulrich Drepper * sysdeps/unix/sysv/sysv4/solaris2/sparc/sysdep.h: Define LOC. Patch by John Tobey . --- misc/daemon.c | 16 ++++++++-------- misc/efgcvt_r.c | 2 +- misc/err.c | 15 ++++++++++++--- misc/error.c | 4 ++++ misc/fstab.c | 14 +++++++------- misc/getpass.c | 19 ++++++++++++++----- misc/getttyent.c | 5 +++++ misc/mntent_r.c | 5 +++++ misc/search.h | 2 +- misc/syslog.c | 28 ++++++++++++++++------------ 10 files changed, 73 insertions(+), 37 deletions(-) (limited to 'misc') diff --git a/misc/daemon.c b/misc/daemon.c index 6b3409c..7bab9f5 100644 --- a/misc/daemon.c +++ b/misc/daemon.c @@ -45,7 +45,7 @@ daemon(nochdir, noclose) { int fd; - switch (fork()) { + switch (__fork()) { case -1: return (-1); case 0: @@ -54,18 +54,18 @@ daemon(nochdir, noclose) _exit(0); } - if (setsid() == -1) + if (__setsid() == -1) return (-1); if (!nochdir) - (void)chdir("/"); + (void)__chdir("/"); - if (!noclose && (fd = open(_PATH_DEVNULL, O_RDWR, 0)) != -1) { - (void)dup2(fd, STDIN_FILENO); - (void)dup2(fd, STDOUT_FILENO); - (void)dup2(fd, STDERR_FILENO); + if (!noclose && (fd = __open(_PATH_DEVNULL, O_RDWR, 0)) != -1) { + (void)__dup2(fd, STDIN_FILENO); + (void)__dup2(fd, STDOUT_FILENO); + (void)__dup2(fd, STDERR_FILENO); if (fd > 2) - (void)close (fd); + (void)__close (fd); } return (0); } diff --git a/misc/efgcvt_r.c b/misc/efgcvt_r.c index 6434b9d..64dcfcd 100644 --- a/misc/efgcvt_r.c +++ b/misc/efgcvt_r.c @@ -87,7 +87,7 @@ APPEND (FUNC_PREFIX, fcvt_r) (value, ndigit, decpt, sign, buf, len) /* Value is Inf or NaN. */ *sign = 0; - n = snprintf (buf, len, "%.*" FLOAT_FMT_FLAG "f", ndigit, value); + n = __snprintf (buf, len, "%.*" FLOAT_FMT_FLAG "f", ndigit, value); if (n < 0) return -1; diff --git a/misc/err.c b/misc/err.c index 56ca808..3482944 100644 --- a/misc/err.c +++ b/misc/err.c @@ -1,5 +1,5 @@ /* err.c --- 4.4BSD utility functions for error messages. - Copyright (C) 1995, 1996 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 1998 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 @@ -24,6 +24,11 @@ #include #include +#ifdef USE_IN_LIBIO +# define flockfile(s) _IO_flockfile (s) +# define funlockfile(s) _IO_funlockfile (s) +#endif + extern char *__progname; #define VA(call) \ @@ -37,11 +42,13 @@ extern char *__progname; void vwarnx (const char *format, __gnuc_va_list ap) { + flockfile (stderr); if (__progname) fprintf (stderr, "%s: ", __progname); if (format) vfprintf (stderr, format, ap); - putc ('\n', stderr); + putc_unlocked ('\n', stderr); + funlockfile (stderr); } void @@ -49,15 +56,17 @@ vwarn (const char *format, __gnuc_va_list ap) { int error = errno; + flockfile (stderr); if (__progname) fprintf (stderr, "%s: ", __progname); if (format) { vfprintf (stderr, format, ap); - fputs (": ", stderr); + fputs_unlocked (": ", stderr); } __set_errno (error); fprintf (stderr, "%m\n"); + funlockfile (stderr); } diff --git a/misc/error.c b/misc/error.c index 83998bb..ac6de32 100644 --- a/misc/error.c +++ b/misc/error.c @@ -76,6 +76,10 @@ unsigned int error_message_count; # define error __error # define error_at_line __error_at_line +# ifdef USE_IN_LIBIO +# define fflush(s) _IO_fflush (s) +# endif + #else /* not _LIBC */ /* The calling program should define program_name and set it to the diff --git a/misc/fstab.c b/misc/fstab.c index d241051..a4d7aae 100644 --- a/misc/fstab.c +++ b/misc/fstab.c @@ -102,7 +102,7 @@ endfsent () state = &fstab_state; if (state->fs_fp != NULL) { - (void) endmntent (state->fs_fp); + (void) __endmntent (state->fs_fp); state->fs_fp = NULL; } } @@ -134,7 +134,7 @@ fstab_init (int opt_rewind) } else { - fp = setmntent (_PATH_FSTAB, "r"); + fp = __setmntent (_PATH_FSTAB, "r"); if (fp == NULL) return NULL; state->fs_fp = fp; @@ -165,11 +165,11 @@ fstab_convert (struct fstab_state *state) f->fs_file = m->mnt_dir; f->fs_vfstype = m->mnt_type; f->fs_mntops = m->mnt_opts; - f->fs_type = (hasmntopt (m, FSTAB_RW) ? FSTAB_RW : - hasmntopt (m, FSTAB_RQ) ? FSTAB_RQ : - hasmntopt (m, FSTAB_RO) ? FSTAB_RO : - hasmntopt (m, FSTAB_SW) ? FSTAB_SW : - hasmntopt (m, FSTAB_XX) ? FSTAB_XX : + f->fs_type = (__hasmntopt (m, FSTAB_RW) ? FSTAB_RW : + __hasmntopt (m, FSTAB_RQ) ? FSTAB_RQ : + __hasmntopt (m, FSTAB_RO) ? FSTAB_RO : + __hasmntopt (m, FSTAB_SW) ? FSTAB_SW : + __hasmntopt (m, FSTAB_XX) ? FSTAB_XX : "??"); f->fs_freq = m->mnt_freq; f->fs_passno = m->mnt_passno; diff --git a/misc/getpass.c b/misc/getpass.c index 2caeb18..0187ac4 100644 --- a/misc/getpass.c +++ b/misc/getpass.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992, 93, 94, 95, 96, 97 Free Software Foundation, Inc. +/* Copyright (C) 1992, 93, 94, 95, 96, 97, 98 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,6 +20,11 @@ #include #include +#ifdef USE_IN_LIBIO +# define flockfile(s) _IO_flockfile (s) +# define funlockfile(s) _IO_funlockfile (s) +#endif + /* It is desirable to use this bit on systems that have it. The only bit of terminal state we want to twiddle is echoing, which is done in software; there is no need to change the state of the terminal @@ -52,9 +57,11 @@ getpass (prompt) else out = in; + flockfile (out); + /* Turn echoing off if it is on now. */ - if (tcgetattr (fileno (in), &t) == 0) + if (__tcgetattr (fileno (in), &t) == 0) { /* Save the old one. */ s = t; @@ -66,8 +73,8 @@ getpass (prompt) tty_changed = 0; /* Write the prompt. */ - fputs (prompt, out); - fflush (out); + fputs_unlocked (prompt, out); + fflush_unlocked (out); /* Read the password. */ nread = __getline (&buf, &bufsize, in); @@ -80,13 +87,15 @@ getpass (prompt) buf[nread - 1] = '\0'; if (tty_changed) /* Write the newline that was not echoed. */ - putc ('\n', out); + putc_unlocked ('\n', out); } /* Restore the original setting. */ if (tty_changed) (void) tcsetattr (fileno (in), TCSAFLUSH|TCSASOFT, &s); + funlockfile (out); + if (in != stdin) /* We opened the terminal; now close it. */ fclose (in); diff --git a/misc/getttyent.c b/misc/getttyent.c index e886e58..dc4b9fa 100644 --- a/misc/getttyent.c +++ b/misc/getttyent.c @@ -40,6 +40,11 @@ static char sccsid[] = "@(#)getttyent.c 8.1 (Berkeley) 6/4/93"; #include #include +#ifdef USE_IN_LIBIO +# define flockfile(s) _IO_flockfile (s) +# define funlockfile(s) _IO_funlockfile (s) +#endif + static char zapchar; static FILE *tf; diff --git a/misc/mntent_r.c b/misc/mntent_r.c index 94b1d15..0ee74e5 100644 --- a/misc/mntent_r.c +++ b/misc/mntent_r.c @@ -22,6 +22,11 @@ #include #include +#ifdef USE_IN_LIBIO +# define flockfile(s) _IO_flockfile (s) +# define funlockfile(s) _IO_funlockfile (s) +#endif + /* Prepare to begin reading and/or writing mount table entries from the beginning of FILE. MODE is as for `fopen'. */ FILE * diff --git a/misc/search.h b/misc/search.h index 2e11d8f..323bb21 100644 --- a/misc/search.h +++ b/misc/search.h @@ -160,7 +160,7 @@ extern void twalk __PMT ((__const void *__root, __action_fn_t action)); #ifdef __USE_GNU /* Callback type for function to free a tree node. If the keys are atomic data this function should do nothing. */ -typedef void (*__free_fn_t) __P ((void *__nodep)); +typedef void (*__free_fn_t) __PMT ((void *__nodep)); /* Destroy the whole tree, call FREEFCT for each node or leaf. */ extern void __tdestroy __PMT ((void *__root, __free_fn_t freefct)); diff --git a/misc/syslog.c b/misc/syslog.c index a1d6f5c..d025f67 100644 --- a/misc/syslog.c +++ b/misc/syslog.c @@ -58,6 +58,10 @@ static char sccsid[] = "@(#)syslog.c 8.4 (Berkeley) 3/18/94"; #include #endif +#ifdef USE_IN_LIBIO +# define ftell(s) _IO_ftell (s) +#endif + static int LogType = SOCK_DGRAM; /* type of socket connection */ static int LogFile = -1; /* fd for log */ static int connected; /* have done connect */ @@ -152,11 +156,11 @@ vsyslog(pri, fmt, ap) if (LogTag == NULL) LogTag = __progname; if (LogTag != NULL) - fputs (LogTag, f); + fputs_unlocked (LogTag, f); if (LogStat & LOG_PID) - fprintf (f, "[%d]", getpid ()); + fprintf (f, "[%d]", __getpid ()); if (LogTag != NULL) - putc (':', f), putc (' ', f); + putc_unlocked (':', f), putc_unlocked (' ', f); /* We have the header. Print the user's format into the buffer. */ vfprintf (f, fmt, ap); @@ -175,7 +179,7 @@ vsyslog(pri, fmt, ap) ++v; v->iov_base = (char *) "\n"; v->iov_len = 1; - (void)writev(STDERR_FILENO, iov, 2); + (void)__writev(STDERR_FILENO, iov, 2); } /* Prepare for multiple users. We have to take care: open and @@ -188,7 +192,7 @@ vsyslog(pri, fmt, ap) memset (&action, 0, sizeof (action)); action.sa_handler = sigpipe_handler; sigemptyset (&action.sa_mask); - sigpipe = sigaction (SIGPIPE, &action, &oldaction); + sigpipe = __sigaction (SIGPIPE, &action, &oldaction); if (sigpipe == 0) oldaction_ptr = &oldaction; @@ -210,15 +214,15 @@ vsyslog(pri, fmt, ap) * is the one from the syslogd failure. */ if (LogStat & LOG_CONS && - (fd = open(_PATH_CONSOLE, O_WRONLY|O_NOCTTY, 0)) >= 0) + (fd = __open(_PATH_CONSOLE, O_WRONLY|O_NOCTTY, 0)) >= 0) { dprintf (fd, "%s\r\n", buf + msgoff); - (void)close(fd); + (void)__close(fd); } } if (sigpipe == 0) - sigaction (SIGPIPE, &oldaction, (struct sigaction *) NULL); + __sigaction (SIGPIPE, &oldaction, (struct sigaction *) NULL); /* End of critical section. */ __libc_cleanup_region_end (0); @@ -248,7 +252,7 @@ openlog_internal(const char *ident, int logstat, int logfac) if ((LogFile = __socket(AF_UNIX, LogType, 0)) == -1) return; - (void)fcntl(LogFile, F_SETFD, 1); + (void)__fcntl(LogFile, F_SETFD, 1); } } if (LogFile != -1 && !connected) @@ -258,7 +262,7 @@ openlog_internal(const char *ident, int logstat, int logfac) == -1) { int saved_errno = errno; - (void)close(LogFile); + (void)__close(LogFile); LogFile = -1; if (LogType == SOCK_DGRAM && saved_errno == EPROTOTYPE) @@ -301,7 +305,7 @@ closelog_internal() if (!connected) return; - close (LogFile); + __close (LogFile); LogFile = -1; connected = 0; LogTag = NULL; @@ -329,7 +333,7 @@ cancel_handler (void *ptr) struct sigaction *oldaction = *((struct sigaction **) ptr); if (oldaction != (struct sigaction *) NULL) - sigaction (SIGPIPE, oldaction, (struct sigaction *) NULL); + __sigaction (SIGPIPE, oldaction, (struct sigaction *) NULL); /* Free the lock. */ __libc_lock_unlock (syslog_lock); -- cgit v1.1