]> git.ipfire.org Git - thirdparty/elfutils.git/commitdiff
zstrptr: Pull print_string() into file scope
authorTimm Bäder <tbaeder@redhat.com>
Fri, 8 Jan 2021 08:13:26 +0000 (09:13 +0100)
committerMark Wielaard <mark@klomp.org>
Fri, 29 Jan 2021 20:34:53 +0000 (21:34 +0100)
Get rid of a nested function this way.

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

index 4688b50ad9556fa90b2908d5c88915368a8ffc5e..3e5b630ad266750ae3604082da5aa9971b28fea7 100644 (file)
@@ -1,3 +1,9 @@
+2021-01-06  Timm Bäder  <tbaeder@redhat.com>
+
+       * zstrptr.c (main): Lift print_strings function up to ...
+       (print_strings): ... here. New file scope function taking
+       Elf_Scn*, Elf* and ndx as arguments.
+
 2020-12-20  Dmitry V. Levin  <ldv@altlinux.org>
 
        * .gitignore: New file.
index 6d8e19f7adc720b239aaea7530c5d2ca959b8f0a..9fb42e2812b935ad4ab23d2a4e355d6cc24d045e 100644 (file)
 #include ELFUTILS_HEADER(elf)
 #include <gelf.h>
 
+static void
+print_strings (Elf_Scn *scn, Elf *elf, size_t ndx)
+{
+  GElf_Shdr shdr_mem;
+  GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
+
+  printf ("Strings in section %zd (%s):\n", ndx,
+         ((shdr->sh_flags & SHF_COMPRESSED) != 0
+          ? "compressed" : "uncompressed"));
+
+  size_t off = 0;
+  const char *str = elf_strptr (elf, ndx, off);
+  while (str != NULL)
+    {
+      printf ("[%zx] '%s'\n", off, str);
+      off += strlen (str) + 1;
+      str = elf_strptr (elf, ndx, off);
+    }
+}
+
 int
 main (int argc, char *argv[])
 {
@@ -79,38 +99,19 @@ main (int argc, char *argv[])
       exit (1);
     }
 
-  void print_strings (void)
-  {
-    GElf_Shdr shdr_mem;
-    GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
-
-    printf ("Strings in section %zd (%s):\n", ndx,
-           ((shdr->sh_flags & SHF_COMPRESSED) != 0
-            ? "compressed" : "uncompressed"));
-
-    size_t off = 0;
-    const char *str = elf_strptr (elf, ndx, off);
-    while (str != NULL)
-      {
-       printf ("[%zx] '%s'\n", off, str);
-       off += strlen (str) + 1;
-       str = elf_strptr (elf, ndx, off);
-      }
-  }
-
   if (elf_compress (scn, ELFCOMPRESS_ZLIB, 0) < 0)
     {
       printf ("Couldn't compress section %zd: %s\n", ndx, elf_errmsg (-1));
       exit (1);
     }
-  print_strings ();
+  print_strings (scn, elf, ndx);
 
   if (elf_compress (scn, 0, 0) < 0)
     {
       printf ("Couldn't decompress section %zd: %s\n", ndx, elf_errmsg (-1));
       exit (1);
     }
-  print_strings ();
+  print_strings (scn, elf, ndx);
 
   if (elf_end (elf) != 0)
     {