{
struct pool *pool;
struct matrix_data_pgm *mx;
- struct file_handle *fh = NULL;
+ struct file_handle *fh = fh_inline_file ();
unsigned seen = 0;
else if (lex_match_id ("FILE"))
{
lex_match ('=');
- fh = fh_parse ();
+ fh = fh_parse (FH_REF_FILE | FH_REF_INLINE);
if (fh == NULL)
goto lossage;
}
nr.mx = mx;
nr.data = NULL;
- nr.factor_values = xmalloc (sizeof *nr.factor_values
- * mx->n_factors * mx->cells);
+ nr.factor_values = xnmalloc (mx->n_factors * mx->cells,
+ sizeof *nr.factor_values);
nr.max_cell_idx = 0;
- nr.split_values = xmalloc (sizeof *nr.split_values
- * dict_get_split_cnt (default_dict));
+ nr.split_values = xnmalloc (dict_get_split_cnt (default_dict),
+ sizeof *nr.split_values);
vfm_source = create_case_source (&matrix_data_without_rowtype_source_class, &nr);
{
int *cp;
- nr->data = pool_alloc (mx->container, (PROX + 1) * sizeof *nr->data);
+ nr->data = pool_nalloc (mx->container, PROX + 1, sizeof *nr->data);
{
int i;
int n_vectors = per_factor ? mx->cells : 1;
int i;
- nr->data[*cp] = pool_alloc (mx->container,
- n_vectors * sizeof **nr->data);
+ nr->data[*cp] = pool_nalloc (mx->container,
+ n_vectors, sizeof **nr->data);
for (i = 0; i < n_vectors; i++)
- nr->data[*cp][i] = pool_alloc (mx->container,
- n_entries * sizeof ***nr->data);
+ nr->data[*cp][i] = pool_nalloc (mx->container,
+ n_entries, sizeof ***nr->data);
}
}
}
else
{
compare = 0;
- wr->split_values = xmalloc (split_cnt * sizeof *wr->split_values);
+ wr->split_values = xnmalloc (split_cnt, sizeof *wr->split_values);
}
{
struct factor_data *iter;
int i;
- factors = xmalloc (sizeof *factors * mx->cells);
+ factors = xnmalloc (mx->cells, sizeof *factors);
for (i = 0, iter = wr->data; iter; iter = iter->next, i++)
factors[i] = iter;
{
struct factor_data *new = pool_alloc (mx->container, sizeof *new);
- new->factors = pool_alloc (mx->container,
- sizeof *new->factors * mx->n_factors);
+ new->factors = pool_nalloc (mx->container,
+ mx->n_factors, sizeof *new->factors);
{
size_t i;
if (type == 1)
n_items *= mx->n_continuous;
- c->data[wr->content] = pool_alloc (mx->container,
- sizeof **c->data * n_items);
+ c->data[wr->content] = pool_nalloc (mx->container,
+ n_items, sizeof **c->data);
}
cp = &c->data[wr->content][n_rows * mx->n_continuous];