diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2015-05-06 00:07:18 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2015-05-06 00:07:18 (GMT) |
commit | d76e89e102aacfe945b44eb3150cb9f4bbf7b613 (patch) | |
tree | 7dda55fabeddcd0dbd1813d9ceef4b905a056c7f /src/arch | |
parent | 2c6e4f3f3f15d1568e9dae407e32a217d8f7ab19 (diff) |
Displayed a tooltip for strings or code symbols in buffer views.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@530 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/arch')
-rw-r--r-- | src/arch/vmpa.c | 43 | ||||
-rw-r--r-- | src/arch/vmpa.h | 3 |
2 files changed, 46 insertions, 0 deletions
diff --git a/src/arch/vmpa.c b/src/arch/vmpa.c index 67be9a9..ad4c078 100644 --- a/src/arch/vmpa.c +++ b/src/arch/vmpa.c @@ -842,6 +842,49 @@ bool mrange_contains_addr(const mrange_t *range, const vmpa2t *addr) /****************************************************************************** * * * Paramètres : range = zone mémoire à consulter. * +* addr = localisation mémoire à analyser. * +* * +* Description : Indique si une localisation est incluse dans une zone ou non.* +* * +* Retour : Bilan de la consultation. * +* * +* Remarques : - * +* * +******************************************************************************/ + +bool mrange_contains_addr_inclusive(const mrange_t *range, const vmpa2t *addr) +{ + bool result; /* Bilan à retourner */ + int ret; /* Bilan d'une comparaison */ + phys_t diff; /* Espace entre deux adresses */ + + ret = cmp_vmpa(&range->addr, addr); + + if (ret <= -1) + { + diff = compute_vmpa_diff(&range->addr, addr); + + if (diff != VMPA_NO_PHYSICAL) + result = (diff <= range->length); + else + result = false; + + } + + else if (ret == 0) + result = true; + + else + result = false; + + return result; + +} + + +/****************************************************************************** +* * +* Paramètres : range = zone mémoire à consulter. * * addr = localisation mémoire à déterminer. * * * * Description : Calcule la position extérieure final d'une couverture. * diff --git a/src/arch/vmpa.h b/src/arch/vmpa.h index 675d5cb..3e0d35c 100644 --- a/src/arch/vmpa.h +++ b/src/arch/vmpa.h @@ -187,6 +187,9 @@ bool mrange_contains_mrange(const mrange_t *, const mrange_t *); /* Indique si une localisation est incluse dans une zone ou non. */ bool mrange_contains_addr(const mrange_t *, const vmpa2t *); +/* Indique si une localisation est incluse dans une zone ou non. */ +bool mrange_contains_addr_inclusive(const mrange_t *, const vmpa2t *); + /* Calcule la position extérieure final d'une couverture. */ void compute_mrange_end_addr(const mrange_t *, vmpa2t *); |