Cleanup of duplicated symbols -- found by compiling with
LDFLAGS += -Wl,-warn-common
diff --git a/archival/gunzip.c b/archival/gunzip.c
index 0c9d406..1ff3c40 100644
--- a/archival/gunzip.c
+++ b/archival/gunzip.c
@@ -155,32 +155,28 @@
typedef unsigned long ulg;
typedef int file_t; /* Do not use stdio */
-uch *inbuf;
-uch *outbuf;
-ush *d_buf;
-uch *window;
-ush *tab_prefix0;
-ush *tab_prefix1;
+static uch *inbuf;
+static uch *outbuf;
+static ush *d_buf;
+static uch *window;
+static ush *tab_prefix0;
+static ush *tab_prefix1;
/* local variables */
-int test_mode = 0; /* check file integrity option */
-int foreground; /* set if program run in foreground */
-int maxbits = BITS; /* max bits per code for LZW */
-int method = DEFLATED; /* compression method */
-int exit_code = OK; /* program exit code */
-int last_member; /* set for .zip and .Z files */
-int part_nb; /* number of parts in .gz file */
-long ifile_size; /* input file size, -1 for devices (debug only) */
-long bytes_in; /* number of input bytes */
-long bytes_out; /* number of output bytes */
-long total_in = 0; /* input bytes for all files */
-long total_out = 0; /* output bytes for all files */
-struct stat istat; /* status for input file */
-int ifd; /* input file descriptor */
-int ofd; /* output file descriptor */
-unsigned insize; /* valid bytes in inbuf */
-unsigned inptr; /* index of next byte to be processed in inbuf */
-unsigned outcnt; /* bytes in output buffer */
+static int test_mode = 0; /* check file integrity option */
+static int foreground; /* set if program run in foreground */
+static int method = DEFLATED; /* compression method */
+static int exit_code = OK; /* program exit code */
+static int last_member; /* set for .zip and .Z files */
+static int part_nb; /* number of parts in .gz file */
+static long ifile_size; /* input file size, -1 for devices (debug only) */
+static long bytes_in; /* number of input bytes */
+static long bytes_out; /* number of output bytes */
+static int ifd; /* input file descriptor */
+static int ofd; /* output file descriptor */
+static unsigned insize; /* valid bytes in inbuf */
+static unsigned inptr; /* index of next byte to be processed in inbuf */
+static unsigned outcnt; /* bytes in output buffer */
unsigned hufts; /* track memory usage */
ulg bb; /* bit buffer */
diff --git a/archival/gzip.c b/archival/gzip.c
index 6b25e47..add94d0 100644
--- a/archival/gzip.c
+++ b/archival/gzip.c
@@ -1754,34 +1754,23 @@
/* local variables */
-int ascii = 0; /* convert end-of-lines to local OS conventions */
-int decompress = 0; /* decompress (-d) */
-int no_name = -1; /* don't save or restore the original file name */
-int no_time = -1; /* don't save or restore the original file time */
-int foreground; /* set if program run in foreground */
-char *progname; /* program name */
+static int foreground; /* set if program run in foreground */
static int method = DEFLATED; /* compression method */
static int exit_code = OK; /* program exit code */
-int save_orig_name; /* set if original name must be saved */
-int last_member; /* set for .zip and .Z files */
-int part_nb; /* number of parts in .gz file */
-long time_stamp; /* original time stamp (modification time) */
-long ifile_size; /* input file size, -1 for devices (debug only) */
-char *env; /* contents of GZIP env variable */
-char z_suffix[MAX_SUFFIX + 1]; /* default suffix (can be set with --suffix) */
-int z_len; /* strlen(z_suffix) */
+static int part_nb; /* number of parts in .gz file */
+static long time_stamp; /* original time stamp (modification time) */
+static long ifile_size; /* input file size, -1 for devices (debug only) */
+static char z_suffix[MAX_SUFFIX + 1]; /* default suffix (can be set with --suffix) */
+static int z_len; /* strlen(z_suffix) */
-long bytes_in; /* number of input bytes */
-long bytes_out; /* number of output bytes */
-char ifname[MAX_PATH_LEN]; /* input file name */
-char ofname[MAX_PATH_LEN]; /* output file name */
-int remove_ofname = 0; /* remove output file on error */
-struct stat istat; /* status for input file */
-int ifd; /* input file descriptor */
-int ofd; /* output file descriptor */
-unsigned insize; /* valid bytes in inbuf */
-unsigned inptr; /* index of next byte to be processed in inbuf */
-unsigned outcnt; /* bytes in output buffer */
+static long bytes_in; /* number of input bytes */
+static long bytes_out; /* number of output bytes */
+static char ifname[MAX_PATH_LEN]; /* input file name */
+static char ofname[MAX_PATH_LEN]; /* output file name */
+static int ifd; /* input file descriptor */
+static int ofd; /* output file descriptor */
+static unsigned insize; /* valid bytes in inbuf */
+static unsigned outcnt; /* bytes in output buffer */
/* local functions */
diff --git a/cmdedit.c b/cmdedit.c
index a59aeeb..8115e52 100644
--- a/cmdedit.c
+++ b/cmdedit.c
@@ -69,7 +69,7 @@
#endif
/* Current termio and the previous termio before starting sh */
-struct termios initial_settings, new_settings;
+static struct termios initial_settings, new_settings;
#ifndef _POSIX_VDISABLE
diff --git a/gunzip.c b/gunzip.c
index 0c9d406..1ff3c40 100644
--- a/gunzip.c
+++ b/gunzip.c
@@ -155,32 +155,28 @@
typedef unsigned long ulg;
typedef int file_t; /* Do not use stdio */
-uch *inbuf;
-uch *outbuf;
-ush *d_buf;
-uch *window;
-ush *tab_prefix0;
-ush *tab_prefix1;
+static uch *inbuf;
+static uch *outbuf;
+static ush *d_buf;
+static uch *window;
+static ush *tab_prefix0;
+static ush *tab_prefix1;
/* local variables */
-int test_mode = 0; /* check file integrity option */
-int foreground; /* set if program run in foreground */
-int maxbits = BITS; /* max bits per code for LZW */
-int method = DEFLATED; /* compression method */
-int exit_code = OK; /* program exit code */
-int last_member; /* set for .zip and .Z files */
-int part_nb; /* number of parts in .gz file */
-long ifile_size; /* input file size, -1 for devices (debug only) */
-long bytes_in; /* number of input bytes */
-long bytes_out; /* number of output bytes */
-long total_in = 0; /* input bytes for all files */
-long total_out = 0; /* output bytes for all files */
-struct stat istat; /* status for input file */
-int ifd; /* input file descriptor */
-int ofd; /* output file descriptor */
-unsigned insize; /* valid bytes in inbuf */
-unsigned inptr; /* index of next byte to be processed in inbuf */
-unsigned outcnt; /* bytes in output buffer */
+static int test_mode = 0; /* check file integrity option */
+static int foreground; /* set if program run in foreground */
+static int method = DEFLATED; /* compression method */
+static int exit_code = OK; /* program exit code */
+static int last_member; /* set for .zip and .Z files */
+static int part_nb; /* number of parts in .gz file */
+static long ifile_size; /* input file size, -1 for devices (debug only) */
+static long bytes_in; /* number of input bytes */
+static long bytes_out; /* number of output bytes */
+static int ifd; /* input file descriptor */
+static int ofd; /* output file descriptor */
+static unsigned insize; /* valid bytes in inbuf */
+static unsigned inptr; /* index of next byte to be processed in inbuf */
+static unsigned outcnt; /* bytes in output buffer */
unsigned hufts; /* track memory usage */
ulg bb; /* bit buffer */
diff --git a/gzip.c b/gzip.c
index 6b25e47..add94d0 100644
--- a/gzip.c
+++ b/gzip.c
@@ -1754,34 +1754,23 @@
/* local variables */
-int ascii = 0; /* convert end-of-lines to local OS conventions */
-int decompress = 0; /* decompress (-d) */
-int no_name = -1; /* don't save or restore the original file name */
-int no_time = -1; /* don't save or restore the original file time */
-int foreground; /* set if program run in foreground */
-char *progname; /* program name */
+static int foreground; /* set if program run in foreground */
static int method = DEFLATED; /* compression method */
static int exit_code = OK; /* program exit code */
-int save_orig_name; /* set if original name must be saved */
-int last_member; /* set for .zip and .Z files */
-int part_nb; /* number of parts in .gz file */
-long time_stamp; /* original time stamp (modification time) */
-long ifile_size; /* input file size, -1 for devices (debug only) */
-char *env; /* contents of GZIP env variable */
-char z_suffix[MAX_SUFFIX + 1]; /* default suffix (can be set with --suffix) */
-int z_len; /* strlen(z_suffix) */
+static int part_nb; /* number of parts in .gz file */
+static long time_stamp; /* original time stamp (modification time) */
+static long ifile_size; /* input file size, -1 for devices (debug only) */
+static char z_suffix[MAX_SUFFIX + 1]; /* default suffix (can be set with --suffix) */
+static int z_len; /* strlen(z_suffix) */
-long bytes_in; /* number of input bytes */
-long bytes_out; /* number of output bytes */
-char ifname[MAX_PATH_LEN]; /* input file name */
-char ofname[MAX_PATH_LEN]; /* output file name */
-int remove_ofname = 0; /* remove output file on error */
-struct stat istat; /* status for input file */
-int ifd; /* input file descriptor */
-int ofd; /* output file descriptor */
-unsigned insize; /* valid bytes in inbuf */
-unsigned inptr; /* index of next byte to be processed in inbuf */
-unsigned outcnt; /* bytes in output buffer */
+static long bytes_in; /* number of input bytes */
+static long bytes_out; /* number of output bytes */
+static char ifname[MAX_PATH_LEN]; /* input file name */
+static char ofname[MAX_PATH_LEN]; /* output file name */
+static int ifd; /* input file descriptor */
+static int ofd; /* output file descriptor */
+static unsigned insize; /* valid bytes in inbuf */
+static unsigned outcnt; /* bytes in output buffer */
/* local functions */
diff --git a/more.c b/more.c
index f95cb48..ffc8206 100644
--- a/more.c
+++ b/more.c
@@ -49,7 +49,7 @@
FILE *cin;
-struct termios initial_settings, new_settings;
+static struct termios initial_settings, new_settings;
void gotsig(int sig)
{
diff --git a/shell/cmdedit.c b/shell/cmdedit.c
index a59aeeb..8115e52 100644
--- a/shell/cmdedit.c
+++ b/shell/cmdedit.c
@@ -69,7 +69,7 @@
#endif
/* Current termio and the previous termio before starting sh */
-struct termios initial_settings, new_settings;
+static struct termios initial_settings, new_settings;
#ifndef _POSIX_VDISABLE
diff --git a/util-linux/more.c b/util-linux/more.c
index f95cb48..ffc8206 100644
--- a/util-linux/more.c
+++ b/util-linux/more.c
@@ -49,7 +49,7 @@
FILE *cin;
-struct termios initial_settings, new_settings;
+static struct termios initial_settings, new_settings;
void gotsig(int sig)
{