diff options
Diffstat (limited to 'misc')
-rw-r--r-- | misc/daemon.c | 16 | ||||
-rw-r--r-- | misc/efgcvt_r.c | 2 | ||||
-rw-r--r-- | misc/err.c | 15 | ||||
-rw-r--r-- | misc/error.c | 4 | ||||
-rw-r--r-- | misc/fstab.c | 14 | ||||
-rw-r--r-- | misc/getpass.c | 19 | ||||
-rw-r--r-- | misc/getttyent.c | 5 | ||||
-rw-r--r-- | misc/mntent_r.c | 5 | ||||
-rw-r--r-- | misc/search.h | 2 | ||||
-rw-r--r-- | misc/syslog.c | 28 |
10 files changed, 73 insertions, 37 deletions
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; @@ -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 <string.h> #include <stdio.h> +#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 <termios.h> #include <unistd.h> +#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 <ctype.h> #include <string.h> +#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 <string.h> #include <sys/types.h> +#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 <varargs.h> #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); |