projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fully support lists of integer values. Add support for
[pspp]
/
src
/
data
/
por-file-writer.c
diff --git
a/src/data/por-file-writer.c
b/src/data/por-file-writer.c
index aa8b5e0bc0139152dba4ae97dc546c1930429ee1..d9f16ef41e9d296768f0b319b56820df6861a12f 100644
(file)
--- a/
src/data/por-file-writer.c
+++ b/
src/data/por-file-writer.c
@@
-1,6
+1,5
@@
/* PSPP - computes sample statistics.
Copyright (C) 1997-9, 2000, 2006 Free Software Foundation, Inc.
/* PSPP - computes sample statistics.
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
modify it under the terms of the GNU General Public License as
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@@
-19,7
+18,7
@@
#include <config.h>
#include "por-file-writer.h"
#include <config.h>
#include "por-file-writer.h"
-#include <libpspp/message.h>
+
#include <ctype.h>
#include <errno.h>
#include <fcntl.h>
#include <ctype.h>
#include <errno.h>
#include <fcntl.h>
@@
-30,18
+29,21
@@
#include <sys/stat.h>
#include <time.h>
#include <unistd.h>
#include <sys/stat.h>
#include <time.h>
#include <unistd.h>
-#include <libpspp/alloc.h>
+
#include "case.h"
#include "dictionary.h"
#include "case.h"
#include "dictionary.h"
-#include <libpspp/message.h>
#include "file-handle-def.h"
#include "file-handle-def.h"
+#include "format.h"
+#include "missing-values.h"
+#include "value-labels.h"
+#include "variable.h"
+
+#include <libpspp/alloc.h>
#include <libpspp/hash.h>
#include <libpspp/magic.h>
#include <libpspp/hash.h>
#include <libpspp/magic.h>
+#include <libpspp/message.h>
#include <libpspp/misc.h>
#include <libpspp/misc.h>
-#include "stat-macros.h"
#include <libpspp/str.h>
#include <libpspp/str.h>
-#include "value-labels.h"
-#include "variable.h"
#include <libpspp/version.h>
#include "gettext.h"
#include <libpspp/version.h>
#include "gettext.h"
@@
-134,7
+136,7
@@
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];
pv->width = var_get_width (dv);
const struct variable *dv = dict_get_var (dict, i);
struct pfm_var *pv = &w->vars[i];
pv->width = var_get_width (dv);
- pv->fv =
dv->fv
;
+ pv->fv =
var_get_case_index (dv)
;
}
w->digits = opts.digits;
}
w->digits = opts.digits;
@@
-372,18
+374,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);
write_string (w, var_get_short_name (v));
continue;
buf_write (w, "D", 1);
write_int (w, 1);
write_string (w, var_get_short_name (v));
- write_int (w, val_labs_count (v
->v
al_labs));
+ 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);
@@
-405,11
+408,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);
}
}
}
}