projects
/
pspp-builds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
* file-name.c (fn_search_path): Remove prefix arg that was unused
[pspp-builds.git]
/
src
/
data
/
por-file-writer.c
diff --git
a/src/data/por-file-writer.c
b/src/data/por-file-writer.c
index 5d6d1efabd9cf6f75effac30b79780d3e3f426dc..0f5542ce42bd1703723573e88d563b0fbcef6a38 100644
(file)
--- a/
src/data/por-file-writer.c
+++ b/
src/data/por-file-writer.c
@@
-1,5
+1,5
@@
/* PSPP - computes sample statistics.
/* 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
Written by Ben Pfaff <blp@gnu.org>.
This program is free software; you can redistribute it and/or
@@
-19,7
+19,7
@@
#include <config.h>
#include "por-file-writer.h"
#include <config.h>
#include "por-file-writer.h"
-#include "message.h"
+
#include <ctype.h>
#include <errno.h>
#include <fcntl.h>
#include <ctype.h>
#include <errno.h>
#include <fcntl.h>
@@
-30,25
+30,27
@@
#include <sys/stat.h>
#include <time.h>
#include <unistd.h>
#include <sys/stat.h>
#include <time.h>
#include <unistd.h>
-#include "alloc.h"
+
#include "case.h"
#include "dictionary.h"
#include "case.h"
#include "dictionary.h"
-#include "message.h"
#include "file-handle-def.h"
#include "file-handle-def.h"
-#include "hash.h"
-#include "magic.h"
-#include "misc.h"
+#include "format.h"
+#include "missing-values.h"
#include "stat-macros.h"
#include "stat-macros.h"
-#include "str.h"
#include "value-labels.h"
#include "variable.h"
#include "value-labels.h"
#include "variable.h"
-#include "version.h"
+
+#include <libpspp/alloc.h>
+#include <libpspp/hash.h>
+#include <libpspp/magic.h>
+#include <libpspp/message.h>
+#include <libpspp/misc.h>
+#include <libpspp/str.h>
+#include <libpspp/version.h>
#include "gettext.h"
#define _(msgid) gettext (msgid)
#include "gettext.h"
#define _(msgid) gettext (msgid)
-#include "debug-print.h"
-
/* Portable file writer. */
struct pfm_writer
{
/* Portable file writer. */
struct pfm_writer
{
@@
-107,7
+109,7
@@
pfm_open_writer (struct file_handle *fh, struct dictionary *dict,
mode = S_IRUSR | S_IRGRP | S_IROTH;
if (opts.create_writeable)
mode |= S_IWUSR | S_IWGRP | S_IWOTH;
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;
if (fd < 0)
goto open_error;
@@
-135,8
+137,8
@@
pfm_open_writer (struct file_handle *fh, struct dictionary *dict,
{
const struct variable *dv = dict_get_var (dict, i);
struct pfm_var *pv = &w->vars[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
;
+ pv->width =
var_get_width (dv)
;
+ pv->fv =
var_get_case_index (dv)
;
}
w->digits = opts.digits;
}
w->digits = opts.digits;
@@
-164,7
+166,7
@@
pfm_open_writer (struct file_handle *fh, struct dictionary *dict,
open_error:
msg (ME, _("An error occurred while opening \"%s\" for writing "
"as a portable file: %s."),
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
goto error;
}
\f
@@
-282,9
+284,9
@@
write_version_data (struct pfm_writer *w)
/* Write format F to file H. */
static void
/* 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, f
ormats[f->type].spss
);
+ write_int (w, f
mt_to_io (f->type)
);
write_int (w, f->w);
write_int (w, f->d);
}
write_int (w, f->w);
write_int (w, f->d);
}
@@
-293,12
+295,12
@@
write_format (struct pfm_writer *w, struct fmt_spec *f)
static void
write_value (struct pfm_writer *w, union value *v, struct variable *vv)
{
static void
write_value (struct pfm_writer *w, union value *v, struct variable *vv)
{
- if (v
v->type == NUMERIC
)
+ if (v
ar_is_numeric (vv)
)
write_float (w, v->f);
else
{
write_float (w, v->f);
else
{
- write_int (w, v
v->width
);
- buf_write (w, v->s, v
v->width
);
+ write_int (w, v
ar_get_width (vv)
);
+ buf_write (w, v->s, v
ar_get_width (vv)
);
}
}
}
}
@@
-320,13
+322,13
@@
write_variables (struct pfm_writer *w, struct dictionary *dict)
struct missing_values mv;
buf_write (w, "7", 1);
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, v
ar_get_width (v)
);
+ write_string (w, v
ar_get_short_name (v)
);
+ write_format (w,
var_get_print_format (v)
);
+ write_format (w,
var_get_write_format (v)
);
/* Write missing values. */
/* Write missing values. */
- mv_copy (&mv,
&v->miss
);
+ mv_copy (&mv,
var_get_missing_values (v)
);
while (mv_has_range (&mv))
{
double x, y;
while (mv_has_range (&mv))
{
double x, y;
@@
-356,10
+358,10
@@
write_variables (struct pfm_writer *w, struct dictionary *dict)
write_value (w, &value, v);
}
write_value (w, &value, v);
}
- if (v
->label
)
+ if (v
ar_get_label (v) != NULL
)
{
buf_write (w, "C", 1);
{
buf_write (w, "C", 1);
- write_string (w, v
->label
);
+ write_string (w, v
ar_get_label (v)
);
}
}
}
}
}
}
@@
-374,18
+376,19
@@
write_value_labels (struct pfm_writer *w, const struct dictionary *dict)
{
struct val_labs_iterator *j;
struct variable *v = dict_get_var (dict, i);
{
struct val_labs_iterator *j;
struct variable *v = dict_get_var (dict, i);
+ const struct val_labs *val_labs = var_get_value_labels (v);
struct val_lab *vl;
struct val_lab *vl;
- if (
!val_labs_count (v->val_labs)
)
+ if (
val_labs == NULL
)
continue;
buf_write (w, "D", 1);
write_int (w, 1);
continue;
buf_write (w, "D", 1);
write_int (w, 1);
- write_string (w, v
->short_name
);
- write_int (w, val_labs_count (v
->v
al_labs));
+ write_string (w, v
ar_get_short_name (v)
);
+ write_int (w, val_labs_count (val_labs));
- for (vl = val_labs_first_sorted (v
->v
al_labs, &j); vl != NULL;
- vl = val_labs_next (v
->v
al_labs, &j))
+ for (vl = val_labs_first_sorted (val_labs, &j); vl != NULL;
+ vl = val_labs_next (val_labs, &j))
{
write_value (w, &vl->value, v);
write_string (w, vl->label);
{
write_value (w, &vl->value, v);
write_string (w, vl->label);
@@
-407,11
+410,11
@@
pfm_write_case (struct pfm_writer *w, const struct ccase *c)
struct pfm_var *v = &w->vars[i];
if (v->width == 0)
struct pfm_var *v = &w->vars[i];
if (v->width == 0)
- write_float (w, case_num (c, v->fv));
+ write_float (w, case_num
_idx
(c, v->fv));
else
{
write_int (w, v->width);
else
{
write_int (w, v->width);
- buf_write (w, case_str (c, v->fv), v->width);
+ buf_write (w, case_str
_idx
(c, v->fv), v->width);
}
}
}
}
@@
-447,7
+450,7
@@
pfm_close_writer (struct pfm_writer *w)
if (!ok)
msg (ME, _("An I/O error occurred writing portable file \"%s\"."),
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");
}
fh_close (w->fh, "portable file", "we");