-static void
-init_proc (struct crosstabs_proc *proc, struct dataset *ds)
-{
- const struct variable *wv = dict_get_weight (dataset_dict (ds));
- proc->dict = dataset_dict (ds);
- proc->bad_warn = true;
- proc->variables = NULL;
- proc->n_variables = 0;
- proc->pivots = NULL;
- proc->n_pivots = 0;
- proc->weight_format = wv ? *var_get_print_format (wv) : F_8_0;
-}
-
-static void
-free_proc (struct crosstabs_proc *proc)
-{
- struct pivot_table *pt;
-
- free (proc->variables);
- for (pt = &proc->pivots[0]; pt < &proc->pivots[proc->n_pivots]; pt++)
- {
- free (pt->vars);
- free (pt->const_vars);
- /* We must not call value_destroy on const_values because
- it is a wild pointer; it never pointed to anything owned
- by the pivot_table.
-
- The rest of the data was allocated and destroyed at a
- lower level already. */
- }
- free (proc->pivots);
-}
-
-static int internal_cmd_crosstabs (struct lexer *lexer, struct dataset *ds,
- struct crosstabs_proc *);