summaryrefslogtreecommitdiff
path: root/src/format
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2020-04-19 15:41:55 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2020-04-19 15:41:55 (GMT)
commitfad679ef8cd654646c9234ff8fd39507adad9b8e (patch)
tree70f672b2e0be0b3a4ec34b8ebf756ac30ba3108c /src/format
parent409657d9a1b5122d5e367bff127b66cfbd3a2d47 (diff)
Updated the interface for flat formats.
Diffstat (limited to 'src/format')
-rw-r--r--src/format/flat-int.h2
-rw-r--r--src/format/flat.c57
-rw-r--r--src/format/flat.h8
3 files changed, 10 insertions, 57 deletions
diff --git a/src/format/flat-int.h b/src/format/flat-int.h
index 9a54e82..d785e5f 100644
--- a/src/format/flat-int.h
+++ b/src/format/flat-int.h
@@ -37,8 +37,8 @@ struct _GFlatFormat
{
GExeFormat parent; /* A laisser en premier */
- SourceEndian endian; /* Boutisme imposé */
char *machine; /* Architecture imposée */
+ SourceEndian endian; /* Boutisme imposé */
};
diff --git a/src/format/flat.c b/src/format/flat.c
index a9081d8..75e359e 100644
--- a/src/format/flat.c
+++ b/src/format/flat.c
@@ -126,8 +126,8 @@ static void g_flat_format_class_init(GFlatFormatClass *klass)
static void g_flat_format_init(GFlatFormat *format)
{
- format->endian = SRE_LITTLE;
format->machine = NULL;
+ format->endian = SRE_LITTLE;
}
@@ -165,6 +165,9 @@ static void g_flat_format_dispose(GFlatFormat *format)
static void g_flat_format_finalize(GFlatFormat *format)
{
+ if (format->machine != NULL)
+ free(format->machine);
+
G_OBJECT_CLASS(g_flat_format_parent_class)->finalize(G_OBJECT(format));
}
@@ -182,7 +185,7 @@ static void g_flat_format_finalize(GFlatFormat *format)
* *
******************************************************************************/
-GExeFormat *g_flat_format_new(GBinContent *content)
+GExeFormat *g_flat_format_new(GBinContent *content, const char *machine, SourceEndian endian)
{
GFlatFormat *result; /* Structure à retourner */
@@ -190,6 +193,9 @@ GExeFormat *g_flat_format_new(GBinContent *content)
g_binary_format_set_content(G_BIN_FORMAT(result), content);
+ result->machine = strdup(machine);
+ result->endian = endian;
+
return G_EXE_FORMAT(result);
}
@@ -271,26 +277,6 @@ static bool g_flat_format_analyze(GFlatFormat *format, wgroup_id_t gid, GtkStatu
/******************************************************************************
* *
* Paramètres : format = informations chargées à consulter. *
-* endian = boutisme à associer au format à plat. *
-* *
-* Description : Spécifie un boutisme à utiliser. *
-* *
-* Retour : Indicateur de boutisme. *
-* *
-* Remarques : - *
-* *
-******************************************************************************/
-
-void g_flat_format_set_endianness(GFlatFormat *format, SourceEndian endian)
-{
- format->endian = endian;
-
-}
-
-
-/******************************************************************************
-* *
-* Paramètres : format = informations chargées à consulter. *
* *
* Description : Informe quant au boutisme utilisé. *
* *
@@ -309,33 +295,6 @@ static SourceEndian g_flat_format_get_endianness(const GFlatFormat *format)
/******************************************************************************
* *
-* Paramètres : format = informations chargées à consulter. *
-* machine = identifiant de l'architecture visée. *
-* *
-* Description : Indique le type d'architecture visée par le format. *
-* *
-* Retour : - *
-* *
-* Remarques : - *
-* *
-******************************************************************************/
-
-void g_flat_format_set_target_machine(GFlatFormat *format, const char *machine)
-{
- if (format->machine != NULL)
- free(format->machine);
-
- if (machine == NULL)
- format->machine = NULL;
-
- else
- format->machine = strdup(machine);
-
-}
-
-
-/******************************************************************************
-* *
* Paramètres : format = informations chargées à consulter. *
* *
* Description : Indique le type d'architecture visée par le format. *
diff --git a/src/format/flat.h b/src/format/flat.h
index 1a08d25..83c5e3c 100644
--- a/src/format/flat.h
+++ b/src/format/flat.h
@@ -52,13 +52,7 @@ typedef struct _GFlatFormatClass GFlatFormatClass;
GType g_flat_format_get_type(void);
/* Prend en charge un nouveau format à plat. */
-GExeFormat *g_flat_format_new(GBinContent *);
-
-/* Spécifie un boutisme à utiliser. */
-void g_flat_format_set_endianness(GFlatFormat *, SourceEndian);
-
-/* Indique le type d'architecture visée par le format. */
-void g_flat_format_set_target_machine(GFlatFormat *, const char *);
+GExeFormat *g_flat_format_new(GBinContent *, const char *, SourceEndian);