#define _LARGEFILE64_SOURCE
#include <unistd.h>])
+AC_CHECK_DECL([environ],
+ [AC_DEFINE(HAVE_ENVIRON_DECL, 1,
+ [Define to 1 if have **environ prototype])],
+)
+
+AC_CHECK_DECL([strsignal],
+ [AC_DEFINE(HAVE_STRSIGNAL_DECL, 1,
+ [Define to 1 if have strsignal function prototype])],
+)
+
AC_CHECK_FUNCS([ \
__fpending \
__secure_getenv \
static const char *normalize(const char *arg);
static int generate_output(char *argv[], int argc, const char *optstr,
const struct option *longopts);
-int main(int argc, char *argv[]);
static void parse_error(const char *message);
static void add_long_options(char *options);
static void add_longopt(const char *name, int has_arg);
#include "env.h"
+#ifndef HAVE_ENVIRON_DECL
extern char **environ;
+#endif
static char * const forbid[] = {
"_RLD_=",
extern int mnt_context_prepare_helper(struct libmnt_context *cxt,
const char *name, const char *type);
extern int mnt_context_prepare_update(struct libmnt_context *cxt);
-extern struct libmnt_fs *mnt_context_get_fs(struct libmnt_context *cxt);
extern int mnt_context_merge_mflags(struct libmnt_context *cxt);
extern int mnt_context_update_tabs(struct libmnt_context *cxt);
extern int mnt_fork_context(struct libmnt_context *cxt);
/* tab_update.c */
-extern struct libmnt_fs *mnt_update_get_fs(struct libmnt_update *upd);
extern int mnt_update_set_filename(struct libmnt_update *upd,
const char *filename, int userspace_only);
/* The user to become if none is specified. */
#define DEFAULT_USER "root"
+#ifndef HAVE_ENVIRON_DECL
extern char **environ;
+#endif
static void run_shell (char const *, char const *, char **, size_t)
__attribute__ ((__noreturn__));
#endif
};
-int main (int argc, char *argv[]);
extern char *mybasename(char *);
int signame_to_signum (char *sig);
int arg_to_signum (char *arg, int mask);
int usage (int status);
int kill_verbose (char *procname, int pid, int sig);
-extern int *get_pids (char *, int);
-
static char *progname;
#ifdef HAVE_SIGQUEUE
static int signals_have_been_setup = 0;
/* Ensure that the lock is released if we are interrupted. */
+#ifndef HAVE_STRSIGNAL_DECL
extern char *strsignal(int sig); /* not always in <string.h> */
+#endif
static void
handler (int sig) {
/* Parse command-line arguments. */
static void parse_args(int argc, char **argv, struct options *op)
{
- extern char *optarg;
- extern int optind;
int c;
enum {
main(int argc, char **argv) {
sigset_t block_mask, unblock_mask;
struct sigaction sa;
- extern int optind;
int ch;
FILE *timingfd = stderr;
int
main(int argc, char **argv) {
- extern int optind;
int ch;
struct iovec iov;
struct utmp *utmpptr;