summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimm Bäder <tbaeder@redhat.com>2021-02-17 09:43:48 +0100
committerMark Wielaard <mark@klomp.org>2021-03-01 18:07:20 +0100
commitd1cbce88d7e4c7f9c183da79d92d9b6183e0c343 (patch)
tree1cd11cb55958e8929880145e799bdd1b159513cf
parent93a6c36c8540f073d487d9be97bcfabb591cda2c (diff)
downloadelfutils-d1cbce88d7e4c7f9c183da79d92d9b6183e0c343.tar.gz
unstrip: Remove nested next() function
This is a simple one-liner, so inline this into the few callers. Get rid of a nested function this way. Signed-off-by: Timm Bäder <tbaeder@redhat.com>
-rw-r--r--src/ChangeLog6
-rw-r--r--src/unstrip.c14
2 files changed, 12 insertions, 8 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 9e0ebd89..833d05e4 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,11 @@
2021-02-17 Timm Bäder <tbaeder@redhat.com>
+ * unstrip.c (handle_implicit_modules): Inline the next function
+ in three places. This is simply dwfl_getmodules with match_module
+ callback providing mmi.
+
+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.
diff --git a/src/unstrip.c b/src/unstrip.c
index 612b7cbf..f7742ebd 100644
--- a/src/unstrip.c
+++ b/src/unstrip.c
@@ -2498,21 +2498,18 @@ static void
handle_implicit_modules (const struct arg_info *info)
{
struct match_module_info mmi = { info->args, NULL, info->match_files };
- inline ptrdiff_t next (ptrdiff_t offset)
- {
- return dwfl_getmodules (info->dwfl, &match_module, &mmi, offset);
- }
- ptrdiff_t offset = next (0);
+ ptrdiff_t offset = dwfl_getmodules (info->dwfl, &match_module, &mmi, 0);
if (offset == 0)
error (EXIT_FAILURE, 0, _("no matching modules found"));
if (info->list)
do
list_module (mmi.found);
- while ((offset = next (offset)) > 0);
+ while ((offset = dwfl_getmodules (info->dwfl, &match_module, &mmi,
+ offset)) > 0);
else if (info->output_dir == NULL)
{
- if (next (offset) != 0)
+ if (dwfl_getmodules (info->dwfl, &match_module, &mmi, offset) != 0)
error (EXIT_FAILURE, 0, _("matched more than one module"));
handle_dwfl_module (info->output_file, false, info->force, mmi.found,
info->all, info->ignore, info->relocate);
@@ -2522,7 +2519,8 @@ handle_implicit_modules (const struct arg_info *info)
handle_output_dir_module (info->output_dir, mmi.found, info->force,
info->all, info->ignore,
info->modnames, info->relocate);
- while ((offset = next (offset)) > 0);
+ while ((offset = dwfl_getmodules (info->dwfl, &match_module, &mmi,
+ offset)) > 0);
}
int