diff options
Diffstat (limited to 'src/arch/target.c')
-rw-r--r-- | src/arch/target.c | 20 |
1 files changed, 2 insertions, 18 deletions
diff --git a/src/arch/target.c b/src/arch/target.c index 4e731ec..bf4da3a 100644 --- a/src/arch/target.c +++ b/src/arch/target.c @@ -307,7 +307,7 @@ virt_t g_target_operand_get_addr(const GTargetOperand *operand) * * ******************************************************************************/ -bool g_target_operand_resolve(GTargetOperand *operand, const GBinFormat *format, bool strict) +bool g_target_operand_resolve(GTargetOperand *operand, GBinFormat *format, bool strict) { bool result; /* Bilan à retourner */ vmpa2t addr; /* Adresse de recherche */ @@ -320,23 +320,7 @@ bool g_target_operand_resolve(GTargetOperand *operand, const GBinFormat *format, init_vmpa(&addr, VMPA_NO_PHYSICAL, operand->addr); - result = g_binary_format_resolve_symbol(format, &addr, &operand->symbol, &operand->diff); - - /** - * En cas de succès, le compteur de références du symbole trouvé a été incrémenté. - */ - - if (strict) - result &= (operand->diff == 0); - - if (!result && operand->symbol != NULL) - { - g_object_unref(G_OBJECT(operand->symbol)); - - operand->symbol = NULL; - operand->diff = 0; - - } + result = g_binary_format_resolve_symbol(format, &addr, strict, &operand->symbol, &operand->diff); return result; |