From f57d3353a5481b8175bf88df4d6dd05e20f8cefb Mon Sep 17 00:00:00 2001 From: Andrea Zagli Date: Sun, 22 Dec 2019 11:25:21 +0100 Subject: [PATCH] Added functions to free resources. --- src/audit.c | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/src/audit.c b/src/audit.c index 8413587..932a1fd 100644 --- a/src/audit.c +++ b/src/audit.c @@ -242,6 +242,43 @@ zak_audit_init (ZakAudit *zak_audit) priv->gtkbuilder = gtk_builder_new (); } +static void +free_field (gpointer data) +{ + Field *f; + + f = (Field *)data; + + g_free (f->name); +} + +static void +free_table (gpointer data) +{ + Table *t; + + t = (Table *)data; + + g_free (t->name); + g_list_free_full (t->fields, free_field); + g_free (t->fields_sql); + g_list_free_full (t->keys, free_field); + g_free (t->keys_sql); +} + +static void +free_datasource (gpointer data) +{ + Datasource *d; + + d = (Datasource *)data; + + g_free (d->name); + g_free (d->cnc_string); + g_free (d->gdaex); + g_list_free_full (d->tables, free_table); +} + static gboolean load_fields (ZakAudit *zak_audit, Datasource *datasource, @@ -403,6 +440,8 @@ load_datasources (ZakAudit *zak_audit, va_list ap) str_in = NULL; + g_list_free_full (priv->datasources, free_datasource); + datasource_name = va_arg (ap, char *); if (datasource_name != NULL) { -- 2.49.0