gchar *field_value;
} ChangesColumn;
-typedef struct
-{
- gint id;
- gchar *name;
- gboolean is_key;
-} Field;
-
typedef struct
{
gchar **values;
static gboolean load_tables (ZakAudit *zak_audit,
ZakAuditDatasource *datasource);
static gboolean load_datasources (ZakAudit *zak_audit, va_list ap);
-static Field *get_field_from_name (ZakAudit *zak_audit,
+static ZakAuditField *get_field_from_name (ZakAudit *zak_audit,
ZakAuditTable *table,
const char *field);
static ZakAuditTable *get_table_from_name (ZakAudit *zak_audit,
priv->gtkbuilder = gtk_builder_new ();
}
-static void
-free_field (gpointer data)
-{
- Field *f;
-
- f = (Field *)data;
-
- g_free (f->name);
-}
-
static gboolean
load_fields (ZakAudit *zak_audit,
ZakAuditDatasource *datasource,
gchar *sql;
gint rows, row;
- Field *field;
+ ZakAuditField *field;
ZakAuditPrivate *priv = ZAK_AUDIT_GET_PRIVATE (zak_audit);
for (row = 0; row < rows; row++)
{
- field = g_new0 (Field, 1);
+ field = g_new0 (ZakAuditField, 1);
field->id = gdaex_data_model_get_field_value_integer_at (dm, row, "id");
field->name = gdaex_data_model_get_field_value_stringify_at (dm, row, "name");
return TRUE;
}
-static Field
+static ZakAuditField
*get_field_from_name (ZakAudit *zak_audit,
ZakAuditTable *table,
const char *field)
{
- Field *ret_field;
+ ZakAuditField *ret_field;
GList *c = g_list_first (table->fields);
gchar *real_field;
ret_field = NULL;
while (c != NULL)
{
- if (g_strcmp0 (((Field *)c->data)->name, real_field) == 0)
+ if (g_strcmp0 (((ZakAuditField *)c->data)->name, real_field) == 0)
{
- ret_field = (Field *)c->data;
+ ret_field = (ZakAuditField *)c->data;
break;
}
ZakAuditPrivate *priv = ZAK_AUDIT_GET_PRIVATE (zak_audit);
- Field *field = get_field_from_name (zak_audit, table, field_name);
+ ZakAuditField *field = get_field_from_name (zak_audit, table, field_name);
if (field == NULL)
{
g_warning (_("Unable to find the field «%s» on loaded fields."),
ZakAuditDatasource *datasource;
ZakAuditTable *table;
- Field *field;
+ ZakAuditField *field;
guint l;
guint strpart;
{
ZakAuditDatasource *datasource;
ZakAuditTable *table;
- Field *field;
+ ZakAuditField *field;
guint l;
guint strpart;
return ret;
}
+ZakAuditField
+*zak_audit_field_copy (ZakAuditField *field)
+{
+ ZakAuditField *f;
+
+ f = g_slice_new (ZakAuditField);
+ f->id = field->id;
+ f->name = g_strdup (field->name);
+ f->is_key = field->is_key;
+
+ return f;
+}
+
+void
+zak_audit_field_free (ZakAuditField *field)
+{
+ g_free (field->name);
+ g_slice_free (ZakAuditField, field);
+}
+
ZakAuditTable
*zak_audit_table_copy (ZakAuditTable *table)
{
zak_audit_table_free (ZakAuditTable *table)
{
g_free (table->name);
- g_list_free_full (table->fields, free_field);
+ g_list_free_full (table->fields, g_free);
g_free (table->fields_sql);
- g_list_free_full (table->keys, free_field);
+ g_list_free_full (table->keys, g_free);
g_free (table->keys_sql);
g_slice_free (ZakAuditTable, table);
}