diff options
Diffstat (limited to 'src')
-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 *); |