n_variables = 0;
v_variables = NULL;
- for (i = 0; i < default_dict.nvar; i++)
- default_dict.var[i]->foo = 0;
+ for (i = 0; i < dict_get_var_cnt (default_dict); i++)
+ dict_get_var(default_dict, i)->p.frq.used = 0;
lex_match_id ("FREQUENCIES");
if (!parse_frequencies (&cmd))
cmd.sort = FRQ_AVALUE;
/* Do it! */
- update_weighting (&default_dict);
procedure (precalc, calc, postcalc);
return CMD_SUCCESS;
double weight;
int i;
- if (default_dict.weight_index == -1)
- weight = 1.0;
- else
- weight = c->data[default_dict.var[default_dict.weight_index]->fv].f;
+ weight = dict_get_case_weight (default_dict, c);
for (i = 0; i < n_variables; i++)
{
int i;
lex_match ('=');
- if (token != T_ALL && (token != T_ID || !is_varname (tokid)))
+ if (token != T_ALL && (token != T_ID
+ || dict_lookup_var (default_dict, tokid) == NULL))
return 2;
- if (!parse_variables (NULL, &v_variables, &n_variables,
+ if (!parse_variables (default_dict, &v_variables, &n_variables,
PV_APPEND | PV_NO_SCRATCH))
return 0;
{
struct variable *v = v_variables[i];
- if (v->foo != 0)
+ if (v->p.frq.used != 0)
{
msg (SE, _("Variable %s specified multiple times on VARIABLES "
"subcommand."), v->name);
return 0;
}
- v->foo = 1; /* Used simply as a marker. */
+ v->p.frq.used = 1; /* Used simply as a marker. */
v->p.frq.tab.valid = v->p.frq.tab.missing = NULL;
frq_custom_grouped (struct cmd_frequencies *cmd unused)
{
lex_match ('=');
- if ((token == T_ID && is_varname (tokid)) || token == T_ID)
+ if ((token == T_ID && dict_lookup_var (default_dict, tokid) != NULL)
+ || token == T_ID)
for (;;)
{
int i;
int n;
struct variable **v;
- if (!parse_variables (NULL, &v, &n, PV_NO_DUPLICATE | PV_NUMERIC))
+ if (!parse_variables (default_dict, &v, &n,
+ PV_NO_DUPLICATE | PV_NUMERIC))
return 0;
if (lex_match ('('))
{
for (i = 0; i < n; i++)
{
- if (v[i]->foo == 0)
+ if (v[i]->p.frq.used == 0)
msg (SE, _("Variables %s specified on GROUPED but not on "
"VARIABLES."), v[i]->name);
if (v[i]->p.frq.groups != NULL)
free (v);
if (!lex_match ('/'))
break;
- if ((token != T_ID || !is_varname (tokid)) && token != T_ALL)
+ if ((token != T_ID || dict_lookup_var (default_dict, tokid) != NULL)
+ && token != T_ALL)
{
lex_put_back ('/');
break;