diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2019-07-20 15:59:12 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2019-07-20 15:59:12 (GMT) |
commit | f0682e7b195acbd4d83148f3829479d682f9ee9f (patch) | |
tree | 39ec963de4b08dfde01cb621a48d14e01a365541 /src/format | |
parent | 71db5a3a8a7a337ba63a47b6472baf99581d8400 (diff) |
Marked some Dex strings as structural.
Diffstat (limited to 'src/format')
-rw-r--r-- | src/format/strsym.c | 55 | ||||
-rw-r--r-- | src/format/strsym.h | 8 |
2 files changed, 63 insertions, 0 deletions
diff --git a/src/format/strsym.c b/src/format/strsym.c index 4e8479e..ed38a6b 100644 --- a/src/format/strsym.c +++ b/src/format/strsym.c @@ -44,6 +44,8 @@ struct _GStrSymbol { GBinSymbol parent; /* A laisser en premier */ + bool structural; /* Nature d'emploi de la chaîne*/ + StringEncodingType encoding; /* Encodage de la chaîne liée */ union @@ -150,6 +152,13 @@ static void g_string_symbol_class_init(GStrSymbolClass *klass) static void g_string_symbol_init(GStrSymbol *symbol) { + symbol->structural = false; + + symbol->encoding = SET_NONE; + + symbol->string = NULL; + + symbol->has_content = false; } @@ -321,6 +330,10 @@ static void g_string_symbol_check_encoding(GStrSymbol *symbol) switch (symbol->encoding) { + case SET_NONE: + assert(false); + break; + case SET_ASCII: break; @@ -378,6 +391,48 @@ static void g_string_symbol_check_encoding(GStrSymbol *symbol) /****************************************************************************** * * +* Paramètres : symbol = symbole à venir actualiser. * +* * +* Description : Définit si une chaîne de caractères est liée au format. * +* * +* Retour : - * +* * +* Remarques : - * +* * +******************************************************************************/ + +void g_string_symbol_set_structural(GStrSymbol *symbol, bool status) +{ + symbol->structural = status; + +} + + +/****************************************************************************** +* * +* Paramètres : symbol = symbole à venir consulter. * +* * +* Description : Indique si une chaîne de caractères est liée au format. * +* * +* Retour : Indication sur l'emploi de la chaîne. * +* * +* Remarques : - * +* * +******************************************************************************/ + +bool g_string_symbol_is_structural(const GStrSymbol *symbol) +{ + bool result; /* Statut à retourner */ + + result = symbol->structural; + + return result; + +} + + +/****************************************************************************** +* * * Paramètres : symbol = symbole à venir consulter. * * * * Description : Fournit l'encodage d'une chaîne de caractères. * diff --git a/src/format/strsym.h b/src/format/strsym.h index 4a1404b..a4c7d58 100644 --- a/src/format/strsym.h +++ b/src/format/strsym.h @@ -39,6 +39,8 @@ /* Types de chaînes */ typedef enum _StringEncodingType { + SET_NONE, /* Valeur d'initialisation */ + SET_ASCII, /* Format brut */ SET_UTF_8, /* Format UTF-8 */ SET_MUTF_8, /* Format UTF-8 modifié */ @@ -72,6 +74,12 @@ GBinSymbol *g_string_symbol_new_read_only(GBinFormat *, const mrange_t *, String /* Crée un nouveau symbole pour chaîne de caractères. */ GBinSymbol *g_string_symbol_new_dynamic(const char *, const vmpa2t *, StringEncodingType); +/* Définit si une chaîne de caractères est liée au format. */ +void g_string_symbol_set_structural(GStrSymbol *, bool); + +/* Indique si une chaîne de caractères est liée au format. */ +bool g_string_symbol_is_structural(const GStrSymbol *); + /* Fournit l'encodage d'une chaîne de caractères. */ StringEncodingType g_string_symbol_get_encoding(const GStrSymbol *); |