]> git.ipfire.org Git - thirdparty/elfutils.git/commitdiff
unstrip: Pull warn() into file scope
authorTimm Bäder <tbaeder@redhat.com>
Wed, 17 Feb 2021 08:43:47 +0000 (09:43 +0100)
committerMark Wielaard <mark@klomp.org>
Mon, 1 Mar 2021 17:07:20 +0000 (18:07 +0100)
Get rid of a nested function this way.

Signed-off-by: Timm Bäder <tbaeder@redhat.com>
src/ChangeLog
src/unstrip.c

index f358baa26480c466d1f5ae407a65c3c3f5ce2d1d..9e0ebd89c11cd3dc73a892ef3012c274673f14ff 100644 (file)
@@ -1,3 +1,9 @@
+2021-02-17  Timm Bäder  <tbaeder@redhat.com>
+
+       * unstrip.c (handle_explicit_files): Move warn function...
+       (warn): ...here as top-level static function taking stripped,
+       unstripped files and force flag as extra arguments.
+
 2021-02-17  Timm Bäder  <tbaeder@redhat.com>
 
        * unstrip.c (copy_elided_sections): Inline find_unalloc_section
index 90e0283166dd50c79994ffb735f794cbff3b6b99..612b7cbf51c19017e2aee01242deff4d982b3a67 100644 (file)
@@ -2225,22 +2225,23 @@ open_file (const char *file, bool writable)
   return fd;
 }
 
+/* Warn, and exit if not forced to continue, if some ELF header
+   sanity check for the stripped and unstripped files failed.  */
+static void
+warn (const char *msg, bool force,
+      const char *stripped_file, const char *unstripped_file)
+{
+  error (force ? 0 : EXIT_FAILURE, 0, "%s'%s' and '%s' %s%s.",
+        force ? _("WARNING: ") : "",
+        stripped_file, unstripped_file, msg,
+        force ? "" : _(", use --force"));
+}
+
 /* Handle a pair of files we need to open by name.  */
 static void
 handle_explicit_files (const char *output_file, bool create_dirs, bool force,
                       const char *stripped_file, const char *unstripped_file)
 {
-
-  /* Warn, and exit if not forced to continue, if some ELF header
-     sanity check for the stripped and unstripped files failed.  */
-  void warn (const char *msg)
-  {
-    error (force ? 0 : EXIT_FAILURE, 0, "%s'%s' and '%s' %s%s.",
-          force ? _("WARNING: ") : "",
-          stripped_file, unstripped_file, msg,
-          force ? "" : _(", use --force"));
-  }
-
   int stripped_fd = open_file (stripped_file, false);
   Elf *stripped = elf_begin (stripped_fd, ELF_C_READ, NULL);
   GElf_Ehdr stripped_ehdr;
@@ -2261,16 +2262,20 @@ handle_explicit_files (const char *output_file, bool create_dirs, bool force,
 
       if (memcmp (stripped_ehdr.e_ident,
                  unstripped_ehdr.e_ident, EI_NIDENT) != 0)
-       warn (_("ELF header identification (e_ident) different"));
+       warn (_("ELF header identification (e_ident) different"), force,
+             stripped_file, unstripped_file);
 
       if (stripped_ehdr.e_type != unstripped_ehdr.e_type)
-       warn (_("ELF header type (e_type) different"));
+       warn (_("ELF header type (e_type) different"), force,
+             stripped_file, unstripped_file);
 
       if (stripped_ehdr.e_machine != unstripped_ehdr.e_machine)
-       warn (_("ELF header machine type (e_machine) different"));
+       warn (_("ELF header machine type (e_machine) different"), force,
+             stripped_file, unstripped_file);
 
       if (stripped_ehdr.e_phnum < unstripped_ehdr.e_phnum)
-       warn (_("stripped program header (e_phnum) smaller than unstripped"));
+       warn (_("stripped program header (e_phnum) smaller than unstripped"),
+             force, stripped_file, unstripped_file);
     }
 
   handle_file (output_file, create_dirs, stripped, &stripped_ehdr, unstripped);