summaryrefslogtreecommitdiff
path: root/src/format/elf/strings.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2009-07-15 22:35:11 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2009-07-15 22:35:11 (GMT)
commit5dbb4e6a9f0dcb75abf9e7abdc0d8a98f66af147 (patch)
tree29e2cf6110425e0d7804bc57d76dba32476a1efd /src/format/elf/strings.c
parent293f9f24c6338b5d41dd8f613aefae6be9bdbfcb (diff)
Restored the routine address resolution.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@96 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/format/elf/strings.c')
-rw-r--r--src/format/elf/strings.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/format/elf/strings.c b/src/format/elf/strings.c
index 3178d69..2bcd911 100644
--- a/src/format/elf/strings.c
+++ b/src/format/elf/strings.c
@@ -145,7 +145,7 @@ bool parse_elf_string_data(elf_format *format, const off_t start, const off_t si
format->strings[format->str_count - 1].value = strndup((const char *)&EXE_FORMAT(format)->content[i], end - i);
format->strings[format->str_count - 1].len = end - i;
- format->strings[format->str_count - 1].vaddress = vaddress + i - start;
+ format->strings[format->str_count - 1].address = vaddress + i - start;
i = end;
@@ -158,9 +158,9 @@ bool parse_elf_string_data(elf_format *format, const off_t start, const off_t si
/******************************************************************************
* *
-* Paramètres : format = informations chargées à consulter. *
-* label = étiquette allouée du symbole si trouvé. [OUT] *
-* vaddress = adresse à cibler, puis décallage final. [OUT] *
+* Paramètres : format = informations chargées à consulter. *
+* label = étiquette allouée du symbole si trouvé. [OUT] *
+* vaddres = adresse à cibler, puis décallage final. [OUT] *
* *
* Description : Recherche une chaîne correspondant à une adresse. *
* *
@@ -170,7 +170,7 @@ bool parse_elf_string_data(elf_format *format, const off_t start, const off_t si
* *
******************************************************************************/
-bool resolve_elf_strings(const elf_format *format, char **label, uint64_t *vaddress)
+bool resolve_elf_strings(const elf_format *format, char **label, vmpa_t *address)
{
bool result; /* Bilan de recherche remonté */
size_t real_start; /* Début de chaîne effective */
@@ -179,10 +179,10 @@ bool resolve_elf_strings(const elf_format *format, char **label, uint64_t *vaddr
result = false;
for (i = 0; i < format->str_count && !result; i++)
- if (format->strings[i].vaddress <= *vaddress
- && *vaddress < (format->strings[i].vaddress + format->strings[i].len))
+ if (format->strings[i].address <= *address
+ && *address < (format->strings[i].address + format->strings[i].len))
{
- real_start = *vaddress - format->strings[i].vaddress;
+ real_start = *address - format->strings[i].address;
*label = strndup(&format->strings[i].value[real_start],
format->strings[i].len - real_start);