summaryrefslogtreecommitdiff
path: root/src/arch/register.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/register.c')
-rw-r--r--src/arch/register.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/arch/register.c b/src/arch/register.c
index 2674c48..389e71a 100644
--- a/src/arch/register.c
+++ b/src/arch/register.c
@@ -90,7 +90,7 @@ static void g_arch_register_init(GArchRegister *reg)
guint g_arch_register_hash(const GArchRegister *reg)
{
- return reg->hash(reg);
+ return G_ARCH_REGISTER_GET_CLASS(reg)->hash(reg);
}
@@ -110,7 +110,7 @@ guint g_arch_register_hash(const GArchRegister *reg)
int g_arch_register_compare(const GArchRegister *a, const GArchRegister *b)
{
- return a->compare(a, b);
+ return G_ARCH_REGISTER_GET_CLASS(a)->compare(a, b);
}
@@ -155,7 +155,7 @@ gboolean g_arch_register_equal(const GArchRegister *a, const GArchRegister *b)
void g_arch_register_print(const GArchRegister *reg, GBufferLine *line, AsmSyntax syntax)
{
- reg->print(reg, line, syntax);
+ G_ARCH_REGISTER_GET_CLASS(reg)->print(reg, line, syntax);
}
@@ -176,8 +176,8 @@ bool g_arch_register_is_base_pointer(const GArchRegister *reg)
{
bool result; /* Bilan à renvoyer */
- if (reg->is_bp)
- result = reg->is_bp(reg);
+ if (G_ARCH_REGISTER_GET_CLASS(reg)->is_bp != NULL)
+ result = G_ARCH_REGISTER_GET_CLASS(reg)->is_bp(reg);
else
result = false;
@@ -202,8 +202,8 @@ bool g_arch_register_is_stack_pointer(const GArchRegister *reg)
{
bool result; /* Bilan à renvoyer */
- if (reg->is_sp)
- result = reg->is_sp(reg);
+ if (G_ARCH_REGISTER_GET_CLASS(reg)->is_sp != NULL)
+ result = G_ARCH_REGISTER_GET_CLASS(reg)->is_sp(reg);
else
result = false;