{
table->n_layers++;
table->layers =
- xrealloc (table->layers,
+ pool_realloc (cmd->pool, table->layers,
sizeof (*table->layers) * table->n_layers);
if (!parse_variables_const
table->n_layers++;
table->layers =
- xrealloc (table->layers,
+ pool_realloc (cmd->pool, table->layers,
sizeof (*table->layers) * table->n_layers);
table->layers[table->n_layers - 1].factor_vars = NULL;
table->layers[table->n_layers - 1].n_factor_vars = 0;
struct means means;
bool more_tables = true;
+ means.pool = pool_create ();
+
means.exclude = MV_ANY;
means.dep_exclude = MV_ANY;
means.listwise_exclude = false;
means.dict = dataset_dict (ds);
means.n_cells = 3;
- means.cells = xcalloc (means.n_cells, sizeof (*means.cells));
+ means.cells = pool_calloc (means.pool, means.n_cells, sizeof (*means.cells));
/* The first three items (MEAN, COUNT, STDDEV) are the default */
while (more_tables)
{
means.n_tables ++;
- means.table = xrealloc (means.table, means.n_tables * sizeof (*means.table));
+ means.table = pool_realloc (means.pool, means.table, means.n_tables * sizeof (*means.table));
if (! parse_means_table_syntax (lexer, &means,
&means.table[means.n_tables - 1]))
{
int x;
means.cells =
- xrealloc (means.cells,
+ pool_realloc (means.pool, means.cells,
(means.n_cells += n_C) * sizeof (*means.cells));
for (x = 0; x < n_C; ++x)
else if (lex_match_id (lexer, "DEFAULT"))
{
means.cells =
- xrealloc (means.cells,
+ pool_realloc (means.pool, means.cells,
(means.n_cells += 3) * sizeof (*means.cells));
means.cells[means.n_cells - 2 - 1] = MEANS_MEAN;
if (lex_match_id (lexer, cell_spec[k].keyword))
{
means.cells =
- xrealloc (means.cells,
+ pool_realloc (means.pool, means.cells,
++means.n_cells * sizeof (*means.cells));
means.cells[means.n_cells - 1] = k;
}
}
- means.pool = pool_create ();
for (t = 0; t < means.n_tables; ++t)
struct mtable *table = &means.table[t];
table->interactions =
- xcalloc (table->n_layers, sizeof (*table->interactions));
+ pool_calloc (means.pool, table->n_layers, sizeof (*table->interactions));
table->summary =
- xcalloc (table->n_dep_vars * table->n_layers, sizeof (*table->summary));
+ pool_calloc (means.pool, table->n_dep_vars * table->n_layers, sizeof (*table->summary));
for (l = 0; l < table->n_layers; ++l)
{
}
+ pool_destroy (means.pool);
return CMD_SUCCESS;
error:
+ pool_destroy (means.pool);
return CMD_FAILURE;
}
int i, v;
const struct means *means = aux1;
struct mtable *table = aux2;
- struct per_cat_data *per_cat_data = xmalloc (sizeof *per_cat_data);
+ struct per_cat_data *per_cat_data = pool_malloc (means->pool, sizeof *per_cat_data);
- struct per_var_data *pvd = xcalloc (table->n_dep_vars, sizeof *pvd);
+ struct per_var_data *pvd = pool_calloc (means->pool, table->n_dep_vars, sizeof *pvd);
for (v = 0; v < table->n_dep_vars; ++v)
{
enum moment maxmom = MOMENT_KURTOSIS;
struct per_var_data *pp = &pvd[v];
- pp->cell_stats = xcalloc (means->n_cells, sizeof *pp->cell_stats);
+ pp->cell_stats = pool_calloc (means->pool, means->n_cells, sizeof *pp->cell_stats);
for (i = 0; i < means->n_cells; ++i)