-
/* PSPP - a program for statistical analysis.
Copyright (C) 2011, 2012 Free Software Foundation, Inc.
bool warn;
};
+
+static void
+destroy_n (const void *aux1 UNUSED, void *aux2, void *user_data)
+{
+ struct mtable *table = aux2;
+ int v;
+ struct per_cat_data *per_cat_data = user_data;
+ struct per_var_data *pvd = per_cat_data->pvd;
+
+ for (v = 0; v < table->n_dep_vars; ++v)
+ {
+ struct per_var_data *pp = &pvd[v];
+ moments1_destroy (pp->mom);
+ }
+}
+
static void *
create_n (const void *aux1, void *aux2)
{
payload.create = create_n;
payload.update = update_n;
payload.calculate = calculate_n;
- payload.destroy = NULL;
+ payload.destroy = destroy_n;
for (t = 0; t < cmd->n_tables; ++t)
{
}
static void
-killit (const void *aux1 UNUSED, void *user_data)
+killit (const void *aux1 UNUSED, void *aux2 UNUSED, void *user_data)
{
struct descriptive_data *dd = user_data;
HMAP_FOR_EACH (iv, struct interaction_value, node, &cat->iap[i].ivmap)
{
if (cat->payload && cat->payload->destroy)
- cat->payload->destroy (cat->aux1, iv->user_data);
+ cat->payload->destroy (cat->aux1, cat->aux2, iv->user_data);
case_unref (iv->ccase);
}
void* (*create) (const void *aux1, void *aux2);
void (*update) (const void *aux1, void *aux2, void *user_data, const struct ccase *, double weight);
void (*calculate) (const void *aux1, void *aux2, void *user_data);
- void (*destroy) (const void *aux1, void *user_data);
+ void (*destroy) (const void *aux1, void *aux2, void *user_data);
};