- {
- int i;
-
- ext->nvars = dict->nvar;
- ext->vars = xmalloc (sizeof *ext->vars * dict->nvar);
- for (i = 0; i < dict->nvar; i++)
- ext->vars[i] = dict->var[i]->width;
- }
-
- /* Write the file header. */
- if (!write_header (handle))
- goto lossage;
-
- /* Write version data. */
- if (!write_version_data (handle))
- goto lossage;
-
- /* Write variables. */
- if (!write_variables (handle, dict))
- goto lossage;
-
- /* Write value labels. */
- if (!write_value_labels (handle, dict))
- goto lossage;
-
- /* Write beginning of data marker. */
- if (!bufwrite (handle, "F", 1))
- goto lossage;
+ w->var_cnt = dict_get_var_cnt (dict);
+ w->vars = xmalloc (sizeof *w->vars * w->var_cnt);
+ for (i = 0; i < w->var_cnt; i++)
+ {
+ const struct variable *dv = dict_get_var (dict, i);
+ struct pfm_var *pv = &w->vars[i];
+ pv->width = dv->width;
+ pv->fv = dv->fv;
+ }