summaryrefslogtreecommitdiff
path: root/src/arch
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch')
-rw-r--r--src/arch/archbase.c22
-rw-r--r--src/arch/archbase.h6
2 files changed, 26 insertions, 2 deletions
diff --git a/src/arch/archbase.c b/src/arch/archbase.c
index e422971..9d11c3f 100644
--- a/src/arch/archbase.c
+++ b/src/arch/archbase.c
@@ -2,7 +2,7 @@
/* OpenIDA - Outil d'analyse de fichiers binaires
* archbase.c - définitions de base pour les architectures
*
- * Copyright (C) 2009 Cyrille Bagard
+ * Copyright (C) 2009-2012 Cyrille Bagard
*
* This file is part of OpenIDA.
*
@@ -26,6 +26,7 @@
#include <inttypes.h>
#include <stdio.h>
+#include <stdlib.h>
@@ -109,3 +110,22 @@ size_t vmpa_to_string(vmpa_t addr, MemoryDataSize msize, char buffer[VMPA_MAX_SI
return result;
}
+
+
+/******************************************************************************
+* *
+* Paramètres : buffer = chaîne de caractères à consulter. *
+* *
+* Description : Transforme une chaîne de caractères en adresse. *
+* *
+* Retour : Adresse obtenue. *
+* *
+* Remarques : - *
+* *
+******************************************************************************/
+
+vmpa_t string_to_vmpa(const char *buffer)
+{
+ return (vmpa_t)strtoull(buffer, NULL, 16);
+
+}
diff --git a/src/arch/archbase.h b/src/arch/archbase.h
index b21d52c..ee12674 100644
--- a/src/arch/archbase.h
+++ b/src/arch/archbase.h
@@ -2,7 +2,7 @@
/* OpenIDA - Outil d'analyse de fichiers binaires
* archbase.h - prototypes des définitions de base pour les architectures
*
- * Copyright (C) 2009-2010 Cyrille Bagard
+ * Copyright (C) 2009-2012 Cyrille Bagard
*
* This file is part of OpenIDA.
*
@@ -86,5 +86,9 @@ int compare_vmpa(const vmpa_t *, const vmpa_t *);
/* Transforme une adresse en chaîne de caractères. */
size_t vmpa_to_string(vmpa_t, MemoryDataSize, char [VMPA_MAX_SIZE]);
+/* Transforme une chaîne de caractères en adresse. */
+vmpa_t string_to_vmpa(const char *);
+
+
#endif /* _ARCH_ARCHBASE_H */