diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2018-08-16 09:44:06 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2018-08-16 09:44:06 (GMT) |
commit | 81297d1f95d33dffe85316a91ac8b028dfc91b2f (patch) | |
tree | b40426c87469416922c41c0ed87cdcffd9291fae /src/format | |
parent | fb315963527f6412273829f09513325e446eb6c9 (diff) |
Included the string symbols in the Python API.
Diffstat (limited to 'src/format')
-rw-r--r-- | src/format/strsym.c | 39 | ||||
-rw-r--r-- | src/format/strsym.h | 3 |
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 *); |