/* PSPP - computes sample statistics.
- Copyright (C) 1997-9, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1997-9, 2000, 2006 Free Software Foundation, Inc.
Written by Ben Pfaff <blp@gnu.org>.
This program is free software; you can redistribute it and/or
mode = S_IRUSR | S_IRGRP | S_IROTH;
if (opts.create_writeable)
mode |= S_IWUSR | S_IWGRP | S_IWOTH;
- fd = open (fh_get_filename (fh), O_WRONLY | O_CREAT | O_TRUNC, mode);
+ fd = open (fh_get_file_name (fh), O_WRONLY | O_CREAT | O_TRUNC, mode);
if (fd < 0)
goto open_error;
{
const struct variable *dv = dict_get_var (dict, i);
struct pfm_var *pv = &w->vars[i];
- pv->width = dv->width;
+ pv->width = var_get_width (dv);
pv->fv = dv->fv;
}
open_error:
msg (ME, _("An error occurred while opening \"%s\" for writing "
"as a portable file: %s."),
- fh_get_filename (fh), strerror (errno));
+ fh_get_file_name (fh), strerror (errno));
goto error;
}
\f
/* Write format F to file H. */
static void
-write_format (struct pfm_writer *w, struct fmt_spec *f)
+write_format (struct pfm_writer *w, const struct fmt_spec *f)
{
- write_int (w, formats[f->type].spss);
+ write_int (w, fmt_to_io (f->type));
write_int (w, f->w);
write_int (w, f->d);
}
static void
write_value (struct pfm_writer *w, union value *v, struct variable *vv)
{
- if (vv->type == NUMERIC)
+ if (var_is_numeric (vv))
write_float (w, v->f);
else
{
- write_int (w, vv->width);
- buf_write (w, v->s, vv->width);
+ write_int (w, var_get_width (vv));
+ buf_write (w, v->s, var_get_width (vv));
}
}
struct missing_values mv;
buf_write (w, "7", 1);
- write_int (w, v->width);
- write_string (w, v->short_name);
- write_format (w, &v->print);
- write_format (w, &v->write);
+ write_int (w, var_get_width (v));
+ write_string (w, var_get_short_name (v));
+ write_format (w, var_get_print_format (v));
+ write_format (w, var_get_write_format (v));
/* Write missing values. */
- mv_copy (&mv, &v->miss);
+ mv_copy (&mv, var_get_missing_values (v));
while (mv_has_range (&mv))
{
double x, y;
write_value (w, &value, v);
}
- if (v->label)
+ if (var_get_label (v) != NULL)
{
buf_write (w, "C", 1);
- write_string (w, v->label);
+ write_string (w, var_get_label (v));
}
}
}
buf_write (w, "D", 1);
write_int (w, 1);
- write_string (w, v->short_name);
+ write_string (w, var_get_short_name (v));
write_int (w, val_labs_count (v->val_labs));
for (vl = val_labs_first_sorted (v->val_labs, &j); vl != NULL;
if (!ok)
msg (ME, _("An I/O error occurred writing portable file \"%s\"."),
- fh_get_filename (w->fh));
+ fh_get_file_name (w->fh));
}
fh_close (w->fh, "portable file", "we");