X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=src%2Fdata%2Fpor-file-writer.c;h=1cd6c6ed7a085eb83c1035c5eb8ecf9c819895d8;hb=refs%2Fbuilds%2F20131017030503%2Fpspp;hp=c5f758a1e5db1a1a16545fdd7cd35cf86e2f322c;hpb=a258e53c63a08b0ec48aea8f03808eb651729424;p=pspp
diff --git a/src/data/por-file-writer.c b/src/data/por-file-writer.c
index c5f758a1e5..1cd6c6ed7a 100644
--- a/src/data/por-file-writer.c
+++ b/src/data/por-file-writer.c
@@ -1,5 +1,5 @@
/* PSPP - a program for statistical analysis.
- Copyright (C) 1997-9, 2000, 2006, 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 1997-9, 2000, 2006, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -15,7 +15,8 @@
along with this program. If not, see . */
#include
-#include "por-file-writer.h"
+
+#include "data/por-file-writer.h"
#include
#include
@@ -26,26 +27,25 @@
#include
#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-#include
-#include
-#include
-#include
-
-#include "minmax.h"
-#include "xalloc.h"
+#include "data/case.h"
+#include "data/casewriter-provider.h"
+#include "data/casewriter.h"
+#include "data/dictionary.h"
+#include "data/file-handle-def.h"
+#include "data/file-name.h"
+#include "data/format.h"
+#include "data/make-file.h"
+#include "data/missing-values.h"
+#include "data/short-names.h"
+#include "data/value-labels.h"
+#include "data/variable.h"
+#include "libpspp/message.h"
+#include "libpspp/misc.h"
+#include "libpspp/str.h"
+#include "libpspp/version.h"
+
+#include "gl/minmax.h"
+#include "gl/xalloc.h"
#include "gettext.h"
#define _(msgid) gettext (msgid)
@@ -336,7 +336,9 @@ write_variables (struct pfm_writer *w, struct dictionary *dict)
buf_write (w, "4", 1);
write_int (w, dict_get_var_cnt (dict));
- write_int (w, 161);
+
+ buf_write (w, "5", 1);
+ write_int (w, ceil (w->digits * (log (10) / log (30))));
for (i = 0; i < dict_get_var_cnt (dict); i++)
{
@@ -404,6 +406,7 @@ write_value_labels (struct pfm_writer *w, const struct dictionary *dict)
const struct val_labs *val_labs = var_get_value_labels (v);
size_t n_labels = val_labs_count (val_labs);
const struct val_lab **labels;
+ int j;
if (n_labels == 0)
continue;
@@ -415,11 +418,11 @@ write_value_labels (struct pfm_writer *w, const struct dictionary *dict)
n_labels = val_labs_count (val_labs);
labels = val_labs_sorted (val_labs);
- for (i = 0; i < n_labels; i++)
+ for (j = 0; j < n_labels; j++)
{
- const struct val_lab *vl = labels[i];
+ const struct val_lab *vl = labels[j];
write_value (w, val_lab_get_value (vl), var_get_width (v));
- write_string (w, val_lab_get_label (vl));
+ write_string (w, val_lab_get_escaped_label (vl));
}
free (labels);
}
@@ -436,10 +439,7 @@ write_documents (struct pfm_writer *w, const struct dictionary *dict)
buf_write (w, "E", 1);
write_int (w, line_cnt);
for (i = 0; i < line_cnt; i++)
- {
- dict_get_document_line (dict, i, &line);
- write_string (w, ds_cstr (&line));
- }
+ write_string (w, dict_get_document_line (dict, i));
ds_destroy (&line);
}