/* Create specifier for parsing the variable. */
spec = pool_alloc (dls->pool, sizeof *spec);
spec->input = *f;
- spec->fv = v->fv;
+ spec->fv = var_get_case_index (v);
spec->record = record;
spec->first_column = column;
strcpy (spec->name, var_get_name (v));
spec = pool_alloc (dls->pool, sizeof *spec);
spec->input = input;
- spec->fv = v->fv;
+ spec->fv = var_get_case_index (v);
strcpy (spec->name, var_get_name (v));
ll_push_tail (&dls->specs, &spec->ll);
}
ll_for_each_continue (spec, struct dls_var_spec, ll, &dls->specs)
data_in (ss_substr (line, spec->first_column - 1, spec->input.w),
spec->input.type, spec->input.d, spec->first_column,
- case_data_rw (c, spec->fv), fmt_var_width (&spec->input));
+ case_data_rw_idx (c, spec->fv), fmt_var_width (&spec->input));
dfm_forward_record (dls->reader);
}
data_in (field, spec->input.type, 0,
dfm_get_column (dls->reader, ss_data (field)),
- case_data_rw (c, spec->fv), fmt_var_width (&spec->input));
+ case_data_rw_idx (c, spec->fv), fmt_var_width (&spec->input));
}
return true;
}
{
int width = fmt_var_width (&spec->input);
if (width == 0)
- case_data_rw (c, spec->fv)->f = SYSMIS;
+ case_data_rw_idx (c, spec->fv)->f = SYSMIS;
else
- memset (case_data_rw (c, spec->fv)->s, ' ', width);
+ memset (case_data_rw_idx (c, spec->fv)->s, ' ', width);
}
break;
}
data_in (field, spec->input.type, 0,
dfm_get_column (dls->reader, ss_data (field)),
- case_data_rw (c, spec->fv), fmt_var_width (&spec->input));
+ case_data_rw_idx (c, spec->fv), fmt_var_width (&spec->input));
}
dfm_forward_record (dls->reader);
/* If there was an END subcommand handle it. */
if (dls->end != NULL)
{
- double *end = &case_data_rw (c, dls->end->fv)->f;
+ double *end = &case_data_rw (c, dls->end)->f;
if (retval == TRNS_DROP_CASE)
{
*end = 1.0;