diff options
| author | Timm Bäder <[email protected]> | 2021-02-17 09:43:46 +0100 |
|---|---|---|
| committer | Mark Wielaard <[email protected]> | 2021-03-01 18:07:10 +0100 |
| commit | 39c67b8f6c0dcee999eb8e73f8e07a41efb78c2b (patch) | |
| tree | 942abcf7e85b89f23f11afead1b68b1cb5353977 /src/unstrip.c | |
| parent | 2daab4e7661eee6fe8701800a8e54d2448471cbd (diff) | |
unstrip: Inline find_unalloc_section() into only caller
Get rid of an unnecessary nested function this way.
Signed-off-by: Timm Bäder <[email protected]>
Diffstat (limited to 'src/unstrip.c')
| -rw-r--r-- | src/unstrip.c | 47 |
1 files changed, 21 insertions, 26 deletions
diff --git a/src/unstrip.c b/src/unstrip.c index 72fabac8..90e02831 100644 --- a/src/unstrip.c +++ b/src/unstrip.c @@ -1452,29 +1452,6 @@ more sections in stripped file than debug file -- arguments reversed?")); stripped_symtab = §ions[nalloc]; } - /* Locate a matching unallocated section in SECTIONS. */ - inline struct section *find_unalloc_section (const GElf_Shdr *shdr, - const char *name, - const char *sig) - { - size_t l = nalloc, u = stripped_shnum - 1; - while (l < u) - { - size_t i = (l + u) / 2; - struct section *sec = §ions[i]; - int cmp = compare_unalloc_sections (shdr, &sec->shdr, - name, sec->name, - sig, sec->sig); - if (cmp < 0) - u = i; - else if (cmp > 0) - l = i + 1; - else - return sec; - } - return NULL; - } - Elf_Data *shstrtab = elf_getdata (elf_getscn (unstripped, unstripped_shstrndx), NULL); ELF_CHECK (shstrtab != NULL, @@ -1536,9 +1513,27 @@ more sections in stripped file than debug file -- arguments reversed?")); } else { - /* Look for the section that matches. */ - sec = find_unalloc_section (shdr, name, - get_group_sig (unstripped, shdr)); + /* Locate a matching unallocated section in SECTIONS. */ + const char *sig = get_group_sig (unstripped, shdr); + size_t l = nalloc, u = stripped_shnum - 1; + while (l < u) + { + size_t i = (l + u) / 2; + struct section *section = §ions[i]; + int cmp = compare_unalloc_sections (shdr, §ion->shdr, + name, section->name, + sig, section->sig); + if (cmp < 0) + u = i; + else if (cmp > 0) + l = i + 1; + else + { + sec = section; + break; + } + } + if (sec == NULL) { /* An additional unallocated section is fine if not SHT_NOBITS. |
