several *.c files:
move 'extern environ' up to the location of #includes
diff --git a/coreutils/env.c b/coreutils/env.c
index f47d450..2a271f7 100644
--- a/coreutils/env.c
+++ b/coreutils/env.c
@@ -32,6 +32,7 @@
#include "busybox.h"
#include <errno.h>
#include <getopt.h> /* struct option */
+extern char **environ;
#if ENABLE_FEATURE_ENV_LONG_OPTIONS
static const struct option env_long_options[] = {
@@ -49,7 +50,6 @@
char **ep;
unsigned opt;
llist_t *unset_env = NULL;
- extern char **environ;
opt_complementary = "u::";
#if ENABLE_FEATURE_ENV_LONG_OPTIONS
diff --git a/coreutils/printenv.c b/coreutils/printenv.c
index 1d41eeb..935f52d 100644
--- a/coreutils/printenv.c
+++ b/coreutils/printenv.c
@@ -12,11 +12,11 @@
#include <string.h>
#include <stdlib.h>
#include "busybox.h"
+extern char **environ;
int printenv_main(int argc, char **argv);
int printenv_main(int argc, char **argv)
{
- extern char **environ;
int e = 0;
/* no variables specified, show whole env */
diff --git a/editors/awk.c b/editors/awk.c
index 9366a23..76ebe0f 100644
--- a/editors/awk.c
+++ b/editors/awk.c
@@ -10,6 +10,7 @@
#include "busybox.h"
#include "xregex.h"
#include <math.h>
+extern char **environ;
/* This is a NOEXEC applet. Be very careful! */
@@ -393,8 +394,6 @@
/* globals */
-extern char **environ;
-
static var * V[_intvarcount_];
static chain beginseq, mainseq, endseq, *seq;
static int nextrec, nextfile;
diff --git a/networking/inetd.c b/networking/inetd.c
index 0ba3b94..dc191a4 100644
--- a/networking/inetd.c
+++ b/networking/inetd.c
@@ -172,9 +172,11 @@
#include <rpc/pmap_clnt.h>
#endif
-#define _PATH_INETDPID "/var/run/inetd.pid"
+extern char **environ;
+#define _PATH_INETDPID "/var/run/inetd.pid"
+
#define CNT_INTVL 60 /* servers in CNT_INTVL sec. */
#define RETRYTIME (60*10) /* retry after bind or server fail */
@@ -1263,7 +1265,6 @@
sigset_t omask, wait_mask;
#ifdef INETD_SETPROCTITLE
- extern char **environ;
char **envp = environ;
Argv = argv;
diff --git a/shell/ash.c b/shell/ash.c
index 4b37f40..4417ee9 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -60,6 +60,7 @@
#if JOBS || ENABLE_ASH_READ_NCHARS
#include <termios.h>
#endif
+extern char **environ;
#if defined(__uClinux__)
#error "Do not even bother, ash will not run on uClinux"
@@ -1747,7 +1748,6 @@
static struct redirtab *redirlist;
static int nullredirs;
-extern char **environ;
static int preverrout_fd; /* save fd2 before print debug if xflag is set. */
#define VTABSIZE 39