summaryrefslogtreecommitdiff
path: root/src/format
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2021-04-05 22:59:31 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2021-04-05 23:11:48 (GMT)
commitb0347ca45a08ac63bc6dd6f244b046c6d19a6cdd (patch)
tree9af1ec9901ddcf696bd3297633faf9fb46712396 /src/format
parentcf0b5d5f07e8102f2c9a04012bf29cabda9d85e4 (diff)
Build a partial working support for the PE format.
Diffstat (limited to 'src/format')
-rw-r--r--src/format/strsym.h4
-rw-r--r--src/format/symbol.c2
-rw-r--r--src/format/symbol.h6
3 files changed, 8 insertions, 4 deletions
diff --git a/src/format/strsym.h b/src/format/strsym.h
index 5c8a34f..10ae769 100644
--- a/src/format/strsym.h
+++ b/src/format/strsym.h
@@ -52,8 +52,8 @@ typedef enum _StringEncodingType
#define G_TYPE_STR_SYMBOL g_string_symbol_get_type()
-#define G_STR_SYMBOL(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), g_string_symbol_get_type(), GStrSymbol))
-#define G_IS_STR_SYMBOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), g_string_symbol_get_type()))
+#define G_STR_SYMBOL(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), G_TYPE_STR_SYMBOL, GStrSymbol))
+#define G_IS_STR_SYMBOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), G_TYPE_STR_SYMBOL))
#define G_STR_SYMBOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), G_TYPE_STR_SYMBOL, GStrSymbolClass))
#define G_IS_STR_SYMBOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), G_TYPE_STR_SYMBOL))
#define G_STR_SYMBOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), G_TYPE_STR_SYMBOL, GStrSymbolClass))
diff --git a/src/format/symbol.c b/src/format/symbol.c
index 9e57e14..eb61db8 100644
--- a/src/format/symbol.c
+++ b/src/format/symbol.c
@@ -550,7 +550,7 @@ SymbolFlag g_binary_symbol_get_flags(const GBinSymbol *symbol)
g_bit_lock(&extra->lock, HOLE_LOCK_BIT);
- result = (extra->flags & SFL_MASK);
+ result = extra->flags;
g_bit_unlock(&extra->lock, HOLE_LOCK_BIT);
diff --git a/src/format/symbol.h b/src/format/symbol.h
index 577eb83..5235410 100644
--- a/src/format/symbol.h
+++ b/src/format/symbol.h
@@ -63,12 +63,16 @@ typedef enum _SymbolStatus
} SymbolStatus;
/* Indications supplémentaires liées aux symboles */
+
+#define SFL_USER_BIT 1
+
typedef enum _SymbolFlag
{
SFL_NONE = (0 << 0), /* Aucune propriété */
SFL_HAS_NM_PREFIX = (1 << 0), /* Indication de nature */
- SFL_MASK = (1 << 1) - 1, /* Indication de nature */
+ SFL_LOW_USER = (1 << SFL_USER_BIT),/* Premier bit disponible */
+ SFL_HIGH_USER = (1 << 7), /* Dernier bit disponible */
} SymbolFlag;