diff -ru coreutils-8.5/lib/mbsalign.c coreutils-8.5-khop/lib/mbsalign.c
--- coreutils-8.5/lib/mbsalign.c	Tue Apr 20 12:52:04 2010
+++ coreutils-8.5-khop/lib/mbsalign.c	Fri Aug 27 11:27:59 2010
@@ -217,7 +217,7 @@
   /* Write as much NUL terminated output to DEST as possible.  */
   if (dest_size != 0)
     {
-      size_t start_spaces, end_spaces;
+      size_t start_spaces, end_spaces, space_left;
       char *dest_end = dest + dest_size - 1;
 
       switch (align)
@@ -238,7 +238,7 @@
         }
 
       dest = mbs_align_pad (dest, dest_end, start_spaces);
-      size_t space_left = dest_end - dest;
+      space_left = dest_end - dest;
       dest = mempcpy (dest, str_to_print, MIN (n_used_bytes, space_left));
       mbs_align_pad (dest, dest_end, end_spaces);
     }
@@ -262,11 +262,12 @@
   size_t size = *width;         /* Start with enough for unibyte mode.  */
   size_t req = size;
   char *buf = NULL;
+  char *nbuf;
 
   while (req >= size)
     {
       size = req + 1;           /* Space for NUL.  */
-      char *nbuf = realloc (buf, size);
+      *nbuf = realloc (buf, size);
       if (nbuf == NULL)
         {
           free (buf);
diff -ru coreutils-8.5/src/chroot.c coreutils-8.5-khop/src/chroot.c
--- coreutils-8.5/src/chroot.c	Tue Apr 20 12:52:04 2010
+++ coreutils-8.5-khop/src/chroot.c	Fri Aug 27 11:32:50 2010
@@ -151,6 +151,7 @@
   int c;
   char const *userspec = NULL;
   char const *groups = NULL;
+  bool fail;
 
   initialize_main (&argc, &argv);
   set_program_name (argv[0]);
@@ -211,7 +212,7 @@
       argv += optind + 1;
     }
 
-  bool fail = false;
+  fail = false;
 
   /* Attempt to set all three: supplementary groups, group ID, user ID.
      Diagnose any failures.  If any have failed, exit before execvp.  */
diff -ru coreutils-8.5/src/copy.c coreutils-8.5-khop/src/copy.c
--- coreutils-8.5/src/copy.c	Tue Apr 20 12:52:04 2010
+++ coreutils-8.5-khop/src/copy.c	Fri Aug 27 11:34:04 2010
@@ -2280,6 +2280,7 @@
       bool nonexistent_dst, const struct cp_options *options,
       bool *copy_into_self, bool *rename_succeeded)
 {
+  bool first_dir_created_per_command_line_arg = false;
   assert (valid_options (options));
 
   /* Record the file names: they're used in case of error, when copying
@@ -2292,7 +2293,6 @@
   top_level_src_name = src_name;
   top_level_dst_name = dst_name;
 
-  bool first_dir_created_per_command_line_arg = false;
   return copy_internal (src_name, dst_name, nonexistent_dst, 0, NULL,
                         options, true,
                         &first_dir_created_per_command_line_arg,
diff -ru coreutils-8.5/src/du.c coreutils-8.5-khop/src/du.c
--- coreutils-8.5/src/du.c	Fri Jan  1 05:06:47 2010
+++ coreutils-8.5-khop/src/du.c	Fri Aug 27 11:43:18 2010
@@ -664,6 +664,8 @@
   bool max_depth_specified = false;
   bool ok = true;
   char *files_from = NULL;
+  struct argv_iterator *ai;
+  static char *temp_argv[] = { NULL, NULL };
 
   /* Bit flags that control how fts works.  */
   int bit_flags = FTS_TIGHT_CYCLE_CHECK | FTS_DEFER_STAT;
@@ -918,7 +920,6 @@
         }
     }
 
-  struct argv_iterator *ai;
   if (files_from)
     {
       /* When using --files0-from=F, you may not specify any files
@@ -950,7 +951,6 @@
   hash_init ();
 
   bit_flags |= symlink_deref_bits;
-  static char *temp_argv[] = { NULL, NULL };
 
   while (true)
     {
diff -ru coreutils-8.5/src/expr.c coreutils-8.5-khop/src/expr.c
--- coreutils-8.5/src/expr.c	Sat Mar 13 07:14:09 2010
+++ coreutils-8.5-khop/src/expr.c	Fri Aug 27 11:44:52 2010
@@ -116,8 +116,8 @@
 static char *
 mpz_get_str (char const *str, int base, mpz_t z)
 {
-  (void) str; (void) base;
   char buf[INT_BUFSIZE_BOUND (intmax_t)];
+  (void) str; (void) base;
   return xstrdup (imaxtostr (z[0], buf));
 }
 static int
@@ -138,8 +138,8 @@
 static int
 mpz_out_str (FILE *stream, int base, mpz_t z)
 {
-  (void) base;
   char buf[INT_BUFSIZE_BOUND (intmax_t)];
+  (void) base;
   return fputs (imaxtostr (z[0], buf), stream) != EOF;
 }
 #endif
diff -ru coreutils-8.5/src/join.c coreutils-8.5-khop/src/join.c
--- coreutils-8.5/src/join.c	Tue Apr 20 12:52:04 2010
+++ coreutils-8.5-khop/src/join.c	Fri Aug 27 11:46:33 2010
@@ -616,6 +616,8 @@
   struct seq seq1, seq2;
   int diff;
   bool eof1, eof2;
+  struct line *line = NULL;
+  bool checktail = false;
 
   /* Read the first line of each file.  */
   initseq (&seq1);
@@ -711,8 +713,6 @@
      tail ends of both inputs to verify that they are in order.  We
      skip the rest of the tail once we have issued a warning for that
      file, unless we actually need to print the unpairable lines.  */
-  struct line *line = NULL;
-  bool checktail = false;
 
   if (check_input_order != CHECK_ORDER_DISABLED
       && !(issued_disorder_warning[0] && issued_disorder_warning[1]))
diff -ru coreutils-8.5/src/libstdbuf.c coreutils-8.5-khop/src/libstdbuf.c
--- coreutils-8.5/src/libstdbuf.c	Sat Mar 13 07:14:09 2010
+++ coreutils-8.5-khop/src/libstdbuf.c	Fri Aug 27 13:02:05 2010
@@ -95,8 +95,8 @@
     setvbuf_mode = _IOLBF;      /* FIXME: should we allow 1ML  */
   else
     {
-      setvbuf_mode = _IOFBF;
       verify (SIZE_MAX <= ULONG_MAX);
+      setvbuf_mode = _IOFBF;
       size = strtoul (mode, NULL, 10);
       if (size > 0)
         {
diff -ru coreutils-8.5/src/ls.c coreutils-8.5-khop/src/ls.c
--- coreutils-8.5/src/ls.c	Tue Apr 20 12:52:04 2010
+++ coreutils-8.5-khop/src/ls.c	Fri Aug 27 11:41:43 2010
@@ -1039,13 +1039,14 @@
 abmon_init (void)
 {
 #ifdef HAVE_NL_LANGINFO
-  required_mon_width = MAX_MON_WIDTH;
   size_t curr_max_width;
+  required_mon_width = MAX_MON_WIDTH;
   do
     {
+      int i;
       curr_max_width = required_mon_width;
       required_mon_width = 0;
-      for (int i = 0; i < 12; i++)
+      for (i = 0; i < 12; i++)
         {
           size_t width = curr_max_width;
 
@@ -3472,6 +3473,7 @@
                  int __utc, int __ns)
 {
   const char *nfmt = fmt;
+  size_t ret;
   /* In the unlikely event that rpl_fmt below is not large enough,
      the replacement is not done.  A malloc here slows ls down by 2%  */
   char rpl_fmt[sizeof (abmon[0]) + 100];
@@ -3488,7 +3490,7 @@
           strcpy (pfmt, pb + 2);
         }
     }
-  size_t ret = nstrftime (buf, size, nfmt, tm, __utc, __ns);
+  ret = nstrftime (buf, size, nfmt, tm, __utc, __ns);
   return ret;
 }
 
@@ -3635,7 +3637,7 @@
      + LONGEST_HUMAN_READABLE + 1	/* minor device number */
      + TIME_STAMP_LEN_MAXIMUM + 1	/* max length of time/date */
      ];
-  size_t s;
+  size_t s, w;
   char *p;
   struct timespec when_timespec;
   struct tm *when_local;
@@ -3825,7 +3827,7 @@
     }
 
   DIRED_FPUTS (buf, stdout, p - buf);
-  size_t w = print_name_with_quoting (f, false, &dired_obstack, p - buf);
+  w = print_name_with_quoting (f, false, &dired_obstack, p - buf);
 
   if (f->filetype == symbolic_link)
     {
@@ -4014,6 +4016,7 @@
                          size_t start_col)
 {
   const char* name = symlink_target ? f->linkname : f->name;
+  size_t width;
 
   bool used_color_this_time
     = (print_with_color
@@ -4023,7 +4026,7 @@
   if (stack)
     PUSH_CURRENT_DIRED_POS (stack);
 
-  size_t width = quote_name (stdout, name, filename_quoting_options, NULL);
+  width = quote_name (stdout, name, filename_quoting_options, NULL);
   dired_pos += width;
 
   if (stack)
@@ -4061,6 +4064,7 @@
 print_file_name_and_frills (const struct fileinfo *f, size_t start_col)
 {
   char buf[MAX (LONGEST_HUMAN_READABLE + 1, INT_BUFSIZE_BOUND (uintmax_t))];
+  size_t width;
 
   set_normal_color ();
 
@@ -4077,7 +4081,7 @@
   if (print_scontext)
     printf ("%*s ", format == with_commas ? 0 : scontext_width, f->scontext);
 
-  size_t width = print_name_with_quoting (f, false, NULL, start_col);
+  width = print_name_with_quoting (f, false, NULL, start_col);
 
   if (indicator_style != none)
     width += print_type_indicator (f->stat_ok, f->stat.st_mode, f->filetype);
diff -ru coreutils-8.5/src/nproc.c coreutils-8.5-khop/src/nproc.c
--- coreutils-8.5/src/nproc.c	Fri Jan  1 05:06:47 2010
+++ coreutils-8.5-khop/src/nproc.c	Fri Aug 27 11:55:42 2010
@@ -76,6 +76,7 @@
 main (int argc, char **argv)
 {
   unsigned long nproc, ignore = 0;
+  enum nproc_query mode = NPROC_CURRENT_OVERRIDABLE;
   initialize_main (&argc, &argv);
   set_program_name (argv[0]);
   setlocale (LC_ALL, "");
@@ -83,8 +84,6 @@
   textdomain (PACKAGE);
 
   atexit (close_stdout);
-
-  enum nproc_query mode = NPROC_CURRENT_OVERRIDABLE;
 
   while (1)
     {
diff -ru coreutils-8.5/src/remove.c coreutils-8.5-khop/src/remove.c
--- coreutils-8.5/src/remove.c	Sat Mar 13 07:14:09 2010
+++ coreutils-8.5-khop/src/remove.c	Fri Aug 27 11:55:01 2010
@@ -169,6 +169,9 @@
         mess up with long file names). */
 
   {
+    /* This implements #5: */
+    size_t file_name_len = strlen (full_name);
+
     /* This implements #1: on decent systems, either faccessat is
        native or /proc/self/fd allows us to skip a chdir.  */
     if (!openat_needs_fchdir ())
@@ -179,9 +182,6 @@
         return errno == EACCES ? 1 : -1;
       }
 
-    /* This implements #5: */
-    size_t file_name_len = strlen (full_name);
-
     if (MIN (PATH_MAX, 8192) <= file_name_len)
       return ! euidaccess_stat (buf, W_OK);
     if (euidaccess (full_name, W_OK) == 0)
@@ -219,15 +219,18 @@
   int fd_cwd = fts->fts_cwd_fd;
   char const *full_name = ent->fts_path;
   char const *filename = ent->fts_accpath;
-  if (is_empty_p)
-    *is_empty_p = T_UNKNOWN;
 
   struct stat st;
   struct stat *sbuf = &st;
-  cache_stat_init (sbuf);
 
   int dirent_type = is_dir ? DT_DIR : DT_UNKNOWN;
   int write_protected = 0;
+  int wp_errno = 0;
+
+  cache_stat_init (sbuf);
+
+  if (is_empty_p)
+    *is_empty_p = T_UNKNOWN;
 
   /* When nonzero, this indicates that we failed to remove a child entry,
      either because the user declined an interactive prompt, or due to
@@ -238,7 +241,6 @@
   if (x->interactive == RMI_NEVER)
     return RM_OK;
 
-  int wp_errno = 0;
   if (!x->ignore_missing_files
       && ((x->interactive == RMI_ALWAYS) || x->stdin_tty)
       && dirent_type != DT_LNK)
@@ -250,6 +252,9 @@
 
   if (write_protected || x->interactive == RMI_ALWAYS)
     {
+      char const *quoted_name = quote (full_name);
+      bool is_empty;
+
       if (0 <= write_protected && dirent_type == DT_UNKNOWN)
         {
           if (cache_fstatat (fd_cwd, filename, sbuf, AT_SYMLINK_NOFOLLOW) == 0)
@@ -286,15 +291,12 @@
             break;
           }
 
-      char const *quoted_name = quote (full_name);
-
       if (write_protected < 0)
         {
           error (0, wp_errno, _("cannot remove %s"), quoted_name);
           return RM_ERROR;
         }
 
-      bool is_empty;
       if (is_empty_p)
         {
           is_empty = is_empty_dir (fd_cwd, filename);
@@ -543,6 +545,9 @@
     case FTS_NSOK:		/* e.g., dangling symlink */
     case FTS_DEFAULT:		/* none of the above */
       {
+        bool is_dir;
+        enum RM_status s;
+
         /* With --one-file-system, do not attempt to remove a mount point.
            fts' FTS_XDEV ensures that we don't process any entries under
            the mount point.  */
@@ -557,8 +562,8 @@
             return RM_ERROR;
           }
 
-        bool is_dir = ent->fts_info == FTS_DP || ent->fts_info == FTS_DNR;
-        enum RM_status s = prompt (fts, ent, is_dir, x, PA_REMOVE_DIR, NULL);
+        is_dir = ent->fts_info == FTS_DP || ent->fts_info == FTS_DNR;
+        s = prompt (fts, ent, is_dir, x, PA_REMOVE_DIR, NULL);
         if (s != RM_OK)
           return s;
         return excise (fts, ent, x, is_dir);
@@ -596,6 +601,7 @@
 
   if (*file)
     {
+      FTS *fts;
       int bit_flags = (FTS_CWDFD
                        | FTS_NOSTAT
                        | FTS_PHYSICAL);
@@ -603,11 +609,12 @@
       if (x->one_file_system)
         bit_flags |= FTS_XDEV;
 
-      FTS *fts = xfts_open (file, bit_flags, NULL);
+      fts = xfts_open (file, bit_flags, NULL);
 
       while (1)
         {
           FTSENT *ent;
+          enum RM_status s;
 
           ent = fts_read (fts);
           if (ent == NULL)
@@ -620,7 +627,7 @@
               break;
             }
 
-          enum RM_status s = rm_fts (fts, ent, x);
+          s = rm_fts (fts, ent, x);
 
           assert (VALID_STATUS (s));
           UPDATE_STATUS (rm_status, s);
diff -ru coreutils-8.5/src/rm.c coreutils-8.5-khop/src/rm.c
--- coreutils-8.5/src/rm.c	Tue Apr 20 12:52:05 2010
+++ coreutils-8.5-khop/src/rm.c	Fri Aug 27 11:57:50 2010
@@ -208,6 +208,9 @@
   struct rm_options x;
   bool prompt_once = false;
   int c;
+  size_t n_files;
+  char **file;
+  enum RM_status status;
 
   initialize_main (&argc, &argv);
   set_program_name (argv[0]);
@@ -334,8 +337,8 @@
                quote ("/"));
     }
 
-  size_t n_files = argc - optind;
-  char **file =  argv + optind;
+  n_files = argc - optind;
+  file =  argv + optind;
 
   if (prompt_once && (x.recursive || 3 < n_files))
     {
@@ -348,7 +351,7 @@
         exit (EXIT_SUCCESS);
     }
 
-  enum RM_status status = rm (file, &x);
+  status = rm (file, &x);
   assert (VALID_STATUS (status));
   exit (status == RM_ERROR ? EXIT_FAILURE : EXIT_SUCCESS);
 }
diff -ru coreutils-8.5/src/seq.c coreutils-8.5-khop/src/seq.c
--- coreutils-8.5/src/seq.c	Fri Jan  1 05:06:47 2010
+++ coreutils-8.5-khop/src/seq.c	Fri Aug 27 11:59:12 2010
@@ -149,6 +149,7 @@
   if (! arg[strcspn (arg, "xX")] && isfinite (ret.value))
     {
       char const *decimal_point = strchr (arg, '.');
+      char const *e = strchr (arg, 'e');
       if (! decimal_point)
         ret.precision = 0;
       else
@@ -161,7 +162,6 @@
                         : (decimal_point == arg                /* .#  -> 0.# */
                            || ! ISDIGIT (decimal_point[-1]))); /* -.# -> 0.# */
         }
-      char const *e = strchr (arg, 'e');
       if (! e)
         e = strchr (arg, 'E');
       if (e)
@@ -311,6 +311,7 @@
     {
       if (equal_width)
         {
+          size_t width;
           /* increase first_width by any increased precision in step */
           size_t first_width = first.width + (prec - first.precision);
           /* adjust last_width to use precision from first/step */
@@ -319,7 +320,7 @@
             last_width--;  /* don't include space for '.' */
           if (last.precision == 0 && prec)
             last_width++;  /* include space for '.' */
-          size_t width = MAX (first_width, last_width);
+          width = MAX (first_width, last_width);
           if (width <= INT_MAX)
             {
               int w = width;
diff -ru coreutils-8.5/src/shred.c coreutils-8.5-khop/src/shred.c
--- coreutils-8.5/src/shred.c	Fri Jan  1 05:06:47 2010
+++ coreutils-8.5-khop/src/shred.c	Fri Aug 27 13:03:36 2010
@@ -437,6 +437,8 @@
           ssize = write (fd, r.c + soff, lim - soff);
           if (ssize <= 0)
             {
+              int errnum = errno;
+
               if (size < 0 && (ssize == 0 || errno == ENOSPC))
                 {
                   /* Ah, we have found the end of the file */
@@ -445,9 +447,14 @@
                 }
               else
                 {
-                  int errnum = errno;
                   char buf[INT_BUFSIZE_BOUND (uintmax_t)];
 
+                  /* 'shred' is often used on bad media, before throwing it
+                     out.  Thus, it shouldn't give up on bad blocks.  This
+                     code works because lim is always a multiple of
+                     SECTOR_SIZE, except at the end.  */
+                  verify (sizeof r % SECTOR_SIZE == 0);
+
                   /* If the first write of the first pass for a given file
                      has just failed with EINVAL, turn off direct mode I/O
                      and try again.  This works around a bug in Linux kernel
@@ -464,11 +471,6 @@
                   error (0, errnum, _("%s: error writing at offset %s"),
                          qname, umaxtostr (offset + soff, buf));
 
-                  /* 'shred' is often used on bad media, before throwing it
-                     out.  Thus, it shouldn't give up on bad blocks.  This
-                     code works because lim is always a multiple of
-                     SECTOR_SIZE, except at the end.  */
-                  verify (sizeof r % SECTOR_SIZE == 0);
                   if (errnum == EIO && 0 <= size && (soff | SECTOR_MASK) < lim)
                     {
                       size_t soff1 = (soff | SECTOR_MASK) + 1;
diff -ru coreutils-8.5/src/sort.c coreutils-8.5-khop/src/sort.c
--- coreutils-8.5/src/sort.c	Wed Apr 21 00:06:17 2010
+++ coreutils-8.5-khop/src/sort.c	Fri Aug 27 12:51:45 2010
@@ -1795,6 +1795,7 @@
   const unsigned char *p = number;
 
   int sign = 1;
+  int order;
 
   if (*p == '-')
     {
@@ -1818,7 +1819,7 @@
         p += 2;
     }
 
-  int order = orders[*p];
+  order = orders[*p];
 
   /* For valid units check for MiB vs MB etc.  */
   if (order)
@@ -1835,13 +1836,14 @@
 static int
 human_numcompare (const char *a, const char *b, struct keyfield *key)
 {
+  int order_a, order_b;
   while (blanks[to_uchar (*a)])
     a++;
   while (blanks[to_uchar (*b)])
     b++;
 
-  int order_a = find_unit_order (a, key);
-  int order_b = find_unit_order (b, key);
+  order_a = find_unit_order (a, key);
+  order_b = find_unit_order (b, key);
 
   return (order_a > order_b ? 1
           : order_a < order_b ? -1
@@ -2076,6 +2078,7 @@
   char *textb = b->keybeg;
   char *lima = a->keylim;
   char *limb = b->keylim;
+  size_t lena, lenb;
 
   int diff;
 
@@ -2089,8 +2092,8 @@
       limb = MAX (textb, limb);
 
       /* Find the lengths. */
-      size_t lena = lima - texta;
-      size_t lenb = limb - textb;
+      lena = lima - texta;
+      lenb = limb - textb;
 
       /* Actually compare the fields. */
 
@@ -2880,6 +2883,9 @@
       /* Merge directly into the output file if possible.  */
       FILE **fps;
       size_t nopened = open_input_files (files, nfiles, &fps);
+      FILE *tfp;
+      char *temp;
+      pid_t pid;
 
       if (nopened == nfiles)
         {
@@ -2900,9 +2906,6 @@
          file with our spare file descriptor.  Retry if that failed
          (e.g., some other process could open a file between the time
          we closed and tried to create).  */
-      FILE *tfp;
-      pid_t pid;
-      char *temp;
       do
         {
           nopened--;
diff -ru coreutils-8.5/src/system.h coreutils-8.5-khop/src/system.h
--- coreutils-8.5/src/system.h	Tue Apr 20 12:52:05 2010
+++ coreutils-8.5-khop/src/system.h	Fri Aug 27 11:32:08 2010
@@ -585,6 +585,9 @@
 static inline void
 emit_ancillary_info (void)
 {
+  /* Don't output this redundant message for English locales.
+     Note we still output for 'C' so that it gets included in the man page.  */
+  const char *lc_messages = setlocale (LC_MESSAGES, NULL);
   printf (_("\nReport %s bugs to %s\n"), last_component (program_name),
           PACKAGE_BUGREPORT);
   /* FIXME 2010: use AC_PACKAGE_URL once we require autoconf-2.64 */
@@ -592,9 +595,6 @@
           PACKAGE_NAME, PACKAGE);
   fputs (_("General help using GNU software: <http://www.gnu.org/gethelp/>\n"),
          stdout);
-  /* Don't output this redundant message for English locales.
-     Note we still output for 'C' so that it gets included in the man page.  */
-  const char *lc_messages = setlocale (LC_MESSAGES, NULL);
   if (lc_messages && strncmp (lc_messages, "en_", 3))
     {
       /* TRANSLATORS: Replace LANG_CODE in this URL with your language code
diff -ru coreutils-8.5/src/tac.c coreutils-8.5-khop/src/tac.c
--- coreutils-8.5/src/tac.c	Sat Mar 13 07:14:09 2010
+++ coreutils-8.5-khop/src/tac.c	Fri Aug 27 12:53:08 2010
@@ -572,6 +572,7 @@
      were specified on the command line.  */
   static char const *const default_file_list[] = {"-", NULL};
   char const *const *file;
+  void *buf;
 
   initialize_main (&argc, &argv);
   set_program_name (argv[0]);
@@ -633,7 +634,7 @@
   if (! (read_size < half_buffer_size && half_buffer_size < G_buffer_size))
     xalloc_die ();
   G_buffer = xmalloc (G_buffer_size);
-  void *buf = G_buffer;
+  buf = G_buffer;
   if (sentinel_length)
     {
       strcpy (G_buffer, separator);
diff -ru coreutils-8.5/src/wc.c coreutils-8.5-khop/src/wc.c
--- coreutils-8.5/src/wc.c	Tue Apr 20 12:52:05 2010
+++ coreutils-8.5-khop/src/wc.c	Fri Aug 27 12:58:45 2010
@@ -590,6 +590,9 @@
   char *files_from = NULL;
   struct fstatus *fstatus;
   struct Tokens tok;
+  bool read_tokens = false;
+  struct argv_iterator *ai;
+  int i;
 
   initialize_main (&argc, &argv);
   set_program_name (argv[0]);
@@ -646,11 +649,10 @@
          || print_linelength))
     print_lines = print_words = print_bytes = true;
 
-  bool read_tokens = false;
-  struct argv_iterator *ai;
   if (files_from)
     {
       FILE *stream;
+      struct stat st;
 
       /* When using --files0-from=F, you may not specify any files
          on the command-line.  */
@@ -674,7 +676,6 @@
 
       /* Read the file list into RAM if we can detect its size and that
          size is reasonable.  Otherwise, we'll read a name at a time.  */
-      struct stat st;
       if (fstat (fileno (stream), &st) == 0
           && S_ISREG (st.st_mode)
           && st.st_size <= MIN (10 * 1024 * 1024, physmem_available () / 2))
@@ -706,7 +707,6 @@
   fstatus = get_input_fstatus (nfiles, files);
   number_width = compute_number_width (nfiles, fstatus);
 
-  int i;
   ok = true;
   for (i = 0; /* */; i++)
     {
