summaryrefslogtreecommitdiff
path: root/src/format
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2018-08-16 09:44:06 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2018-08-16 09:44:06 (GMT)
commit81297d1f95d33dffe85316a91ac8b028dfc91b2f (patch)
treeb40426c87469416922c41c0ed87cdcffd9291fae /src/format
parentfb315963527f6412273829f09513325e446eb6c9 (diff)
Included the string symbols in the Python API.
Diffstat (limited to 'src/format')
-rw-r--r--src/format/strsym.c39
-rw-r--r--src/format/strsym.h3
2 files changed, 42 insertions, 0 deletions
diff --git a/src/format/strsym.c b/src/format/strsym.c
index d09995d..c921b9a 100644
--- a/src/format/strsym.c
+++ b/src/format/strsym.c
@@ -381,6 +381,45 @@ StringEncodingType g_string_symbol_get_encoding(const GStrSymbol *symbol)
* *
* Paramètres : symbol = symbole à venir consulter. *
* *
+* Description : Fournit la chaîne brute de caractères du symbole. *
+* *
+* Retour : Chaîne de caractères d'origine. *
+* *
+* Remarques : - *
+* *
+******************************************************************************/
+
+const char *g_string_symbol_get_raw(const GStrSymbol *symbol)
+{
+ const char *result; /* Données à retourner */
+ const mrange_t *range; /* Couverture du symbole */
+ vmpa2t pos; /* Tête de lecture modifiable */
+ phys_t length; /* Taille de la chaîne */
+
+ if (symbol->has_content)
+ {
+ range = g_binary_symbol_get_range(G_BIN_SYMBOL(symbol));
+
+ copy_vmpa(&pos, get_mrange_addr(range));
+
+ length = get_mrange_length(range);
+
+ result = (const char *)g_binary_content_get_raw_access(symbol->content, &pos, length);
+
+ }
+
+ else
+ result = symbol->string;
+
+ return result;
+
+}
+
+
+/******************************************************************************
+* *
+* Paramètres : symbol = symbole à venir consulter. *
+* *
* Description : Fournit la chaîne de caractères du symbole. *
* *
* Retour : Chaîne de caractères, à priori en UTF-8. *
diff --git a/src/format/strsym.h b/src/format/strsym.h
index eef5e9b..b074a28 100644
--- a/src/format/strsym.h
+++ b/src/format/strsym.h
@@ -75,6 +75,9 @@ GBinSymbol *g_string_symbol_new_dynamic(const char *, const vmpa2t *, StringEnco
/* Fournit l'encodage d'une chaîne de caractères. */
StringEncodingType g_string_symbol_get_encoding(const GStrSymbol *);
+/* Fournit la chaîne brute de caractères du symbole. */
+const char *g_string_symbol_get_raw(const GStrSymbol *);
+
/* Fournit la chaîne de caractères du symbole. */
const char *g_string_symbol_get_utf8(const GStrSymbol *);